diff --git a/Dockerfile b/Dockerfile index 7294fd5..e435036 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,9 +2,11 @@ FROM python:3.10-slim ENV PYTHONUNBUFFERED=1 ENV PYTHONDONTWRITEBYTECODE=1 -# Installiamo solo libgomp1 (necessaria per scikit-learn) +# Installiamo libgomp1, mosquitto-clients e coreutils (per stdbuf) RUN apt-get update && apt-get install -y --no-install-recommends \ libgomp1 \ + mosquitto-clients \ + coreutils \ && rm -rf /var/lib/apt/lists/* WORKDIR /app diff --git a/app/beacons.py b/app/beacons.py index 2c21989..2f63f28 100644 --- a/app/beacons.py +++ b/app/beacons.py @@ -1,51 +1,82 @@ -from typing import Tuple, Dict, Any, Set, Iterable, List -from .normalize import normalize_mac, is_mac +import os +import csv +import io +from pathlib import Path +from typing import List, Dict, Any, Optional +import pandas as pd +from .normalize import norm_mac -DEFAULT_MAC_FIELDS: tuple[str, ...] = ( - "mac", - "beacon_mac", - "beaconMac", - "device_mac", - "deviceMac", - "tag_mac", - "tagMac", -) +def _coord_token(v: float) -> str: + """Trasforma coordinata in stringa sicura per nome file (es. -1 -> -1, 120.5 -> 120_5).""" + try: + fv = float(v) + except: + return str(v) + if abs(fv - round(fv)) < 1e-9: + return str(int(round(fv))) + s = f"{fv:.3f}".rstrip('0').rstrip('.') + return s.replace('.', '_') -def _first_present(item: dict, keys: Iterable[str]) -> str: - for k in keys: - if k in item and item.get(k): - return str(item.get(k)) - return "" +def read_job_csv(job_path: Path, delimiter: str) -> List[Dict[str, Any]]: + """Legge il Job CSV esteso e normalizza i campi per il Core.""" + text = job_path.read_text(encoding="utf-8", errors="replace") + if not text.strip(): + return [] + + # Rilevamento automatico delimitatore se diverso dal config + first_line = next((ln for ln in text.splitlines() if ln.strip()), "") + use_delim = delimiter + if ";" in first_line: use_delim = ";" + elif "," in first_line: use_delim = "," -def extract_beacon_macs(data: object, mac_fields: tuple[str, ...] = DEFAULT_MAC_FIELDS - ) -> Tuple[Set[str], Dict[str, Any], List[str]]: - allowed: Set[str] = set() - by_mac: Dict[str, Any] = {} - invalid: List[str] = [] - - items = None - if isinstance(data, list): - items = data - elif isinstance(data, dict): - for key in ("items", "beacons", "trackers", "data", "result"): - v = data.get(key) - if isinstance(v, list): - items = v - break - - if not items: - return allowed, by_mac, invalid - - for item in items: - if not isinstance(item, dict): + f = io.StringIO(text) + r = csv.reader(f, delimiter=use_delim) + header = next(r, None) + if not header: + return [] + + # Normalizzazione Header (minuscolo, senza spazi) + header_norm = [h.strip().lower() for h in header] + idx = {name: i for i, name in enumerate(header_norm)} + + rows = [] + for cols in r: + if not cols or len(cols) < len(header): + continue + try: + # Estrazione usando i nomi esatti dei tuoi file + rows.append({ + "mac": cols[idx["mac"]].strip(), + "x": float(cols[idx["x"]]), + "y": float(cols[idx["y"]]), + "z": float(cols[idx["z"]]), + "beaconname": cols[idx["beaconname"]].strip() + }) + except Exception as e: continue - raw = _first_present(item, mac_fields) - mac = normalize_mac(raw) - if mac and is_mac(mac): - allowed.add(mac) - by_mac[mac] = item - else: - if raw: - invalid.append(str(raw)) + return rows - return allowed, by_mac, invalid +def write_samples_csv(path: Path, rows: List[Dict[str, Any]], gateway_headers: List[str], delimiter: str = ";", rssi_decimals: int = 0): + """Scrive il campione con l'ordine colonne corretto: mac, x, y, z, ts_start, ts_end, GW...""" + # Aggiungiamo i timestamp all'header prima dei gateway + header = ["mac", "x", "y", "z", "ts_start", "ts_end"] + gateway_headers + + tmp_path = path.with_suffix(".tmp") + with open(tmp_path, "w", newline="", encoding="utf-8") as f: + w = csv.writer(f, delimiter=delimiter) + w.writerow(header) + for row in rows: + line = [] + for col in header: + val = row.get(col, "nan") + if col == "mac": + line.append(val) + elif isinstance(val, float): + if pd.isna(val): line.append("nan") + elif col in ["x", "y", "z"]: line.append(f"{val:.1f}") + # Timestamp e RSSI + else: line.append(f"{val:.{rssi_decimals if col not in ['ts_start', 'ts_end'] else 3}f}") + else: + line.append(str(val)) + w.writerow(line) + os.replace(tmp_path, path) diff --git a/app/config b/app/config new file mode 120000 index 0000000..4088526 --- /dev/null +++ b/app/config @@ -0,0 +1 @@ +../config/ \ No newline at end of file diff --git a/app/csv_config.py b/app/csv_config.py index cf840e6..a0989f8 100644 --- a/app/csv_config.py +++ b/app/csv_config.py @@ -1,66 +1,34 @@ -from __future__ import annotations - +# app/csv_config.py import csv -from dataclasses import dataclass from pathlib import Path -from typing import List, Optional +from typing import List +from dataclasses import dataclass +# RIPRISTINATO IMPORT RELATIVO: Necessario per il Core Orchestrator from .normalize import norm_mac - @dataclass -class GatewayDef: +class GatewayConfig: mac: str name: str = "" - id: str = "" + label: str = "" - -def _sniff_delimiter(sample: str) -> str: - # fallback robusto: prova a sniffare, altrimenti ';' +def load_gateway_features_csv(file_path: str, delimiter: str = ";") -> List[GatewayConfig]: + """Carica l'anagrafica gateway per definire l'ordine delle feature del modello.""" + gws = [] + p = Path(file_path) + if not p.exists(): + return gws + try: - return csv.Sniffer().sniff(sample, delimiters=";,\t").delimiter + with open(p, "r", encoding="utf-8") as f: + reader = csv.DictReader(f, delimiter=delimiter) + # Normalizzazione header + reader.fieldnames = [fn.strip().lower() for fn in reader.fieldnames] + for row in reader: + raw_mac = row.get("mac", "").strip() + if raw_mac: + gws.append(GatewayConfig(mac=norm_mac(raw_mac))) except Exception: - return ";" - - -def load_gateway_features_csv(path: str) -> List[GatewayDef]: - """ - Carica gateway.csv. - Attesi header: mac;name;id (name/id opzionali) - Normalizza MAC in formato canonico 'AA:BB:CC:DD:EE:FF' - """ - p = Path(path) - if not p.exists(): - raise FileNotFoundError(f"gateway csv not found: {path}") - - txt = p.read_text(encoding="utf-8", errors="ignore") - delim = _sniff_delimiter(txt[:2048]) - - rows: List[GatewayDef] = [] - with p.open("r", encoding="utf-8", errors="ignore", newline="") as f: - rd = csv.DictReader(f, delimiter=delim) - for r in rd: - # accetta anche varianti tipo 'MAC' o 'gw_mac' - mac_raw = r.get("mac") or r.get("MAC") or r.get("gw_mac") or r.get("gateway_mac") - if not mac_raw: - continue - mac = norm_mac(mac_raw) - if not mac: - continue - - name = (r.get("name") or r.get("NAME") or "").strip() - gid = (r.get("id") or r.get("ID") or "").strip() - rows.append(GatewayDef(mac=mac, name=name, id=gid)) - - return rows - - -# --------------------------------------------------------------------------- -# BACKWARD COMPATIBILITY -# main.py si aspetta load_gateway_csv() -> List[GatewayDef] -# --------------------------------------------------------------------------- -def load_gateway_csv(path: str) -> List[GatewayDef]: - """ - Alias compatibile per vecchie versioni. - """ - return load_gateway_features_csv(path) + pass + return gws diff --git a/app/gateways.py b/app/gateways.py index 71e7269..a875e03 100644 --- a/app/gateways.py +++ b/app/gateways.py @@ -1,30 +1,26 @@ -from typing import Tuple, Dict, Any, Set, List -from .normalize import normalize_mac, is_mac +import pandas as pd +from .normalize import norm_mac, is_mac # Usiamo norm_mac che esiste sicuramente -def extract_gateway_macs(data: object) -> Tuple[Set[str], Dict[str, Any], List[str]]: - """ - ritorna: - - allowed MAC (validi) - - mapping mac->record - - lista raw MAC invalidi (normalizzati quando possibile) - """ - allowed: Set[str] = set() - by_mac: Dict[str, Any] = {} - invalid: List[str] = [] - - if not isinstance(data, list): - return allowed, by_mac, invalid - - for item in data: - if not isinstance(item, dict): - continue - raw = item.get("mac", "") - mac = normalize_mac(raw) - if mac and is_mac(mac): - allowed.add(mac) - by_mac[mac] = item - else: - if raw: - invalid.append(str(raw)) - - return allowed, by_mac, invalid +def load_gateway_csv(path, delimiter=";"): + """Carica i gateway validi dal CSV.""" + try: + df = pd.read_csv(path, sep=delimiter) + # Normalizziamo colonne + df.columns = [c.strip().lower() for c in df.columns] + + if 'mac' not in df.columns: + return [], 0, 0 + + valid_macs = [] + invalid_count = 0 + + for m in df['mac'].astype(str): + if is_mac(m): + valid_macs.append(norm_mac(m)) + else: + invalid_count += 1 + + return valid_macs, invalid_count, 0 + except Exception as e: + print(f"Errore gateways.py: {e}") + return [], 0, 0 diff --git a/app/infer_mode.py b/app/infer_mode.py index f648e17..ab6bc3c 100644 --- a/app/infer_mode.py +++ b/app/infer_mode.py @@ -15,7 +15,7 @@ from .logger_utils import log_msg as log # Importiamo la funzione per caricare i gateway per mantenere l'ordine delle feature from .csv_config import load_gateway_features_csv -BUILD_TAG = "infer-debug-v19-hierarchical-final" +BUILD_TAG = "infer-debug-v20-autoreload" # ------------------------- # UTILITIES @@ -27,12 +27,6 @@ def _norm_mac(s: str) -> str: return ":".join([s[i:i+2] for i in range(0, 12, 2)]) def _predict_xyz(model_pkg: Dict[str, Any], X: np.ndarray) -> Tuple[int, float, float]: - """ - Logica di predizione basata su train_mode.py: - 1. Predice Z (piano) tramite KNeighborsClassifier - 2. Predice X, Y tramite KNeighborsRegressor specifico per quel piano - """ - # 1. Predizione del Piano (Z) floor_clf = model_pkg.get("floor_clf") if floor_clf is None: raise ValueError("Il pacchetto modello non contiene 'floor_clf'") @@ -40,16 +34,14 @@ def _predict_xyz(model_pkg: Dict[str, Any], X: np.ndarray) -> Tuple[int, float, z_pred = floor_clf.predict(X) z = int(z_pred[0]) - # 2. Predizione X, Y (Coordinate) xy_models = model_pkg.get("xy_by_floor", {}) regressor = xy_models.get(z) if regressor is None: - # Se il piano predetto non ha un regressore XY, restituiamo solo il piano return z, -1.0, -1.0 xy_pred = regressor.predict(X) - x, y = xy_pred[0] # L'output del regressore multi-output è [x, y] + x, y = xy_pred[0] return z, float(x), float(y) @@ -87,7 +79,6 @@ class RollingRSSI: else: feats.append(np.nan) X = np.array(feats).reshape(1, -1) - # Sostituisce i NaN con il valore di riempimento definito nel training return np.where(np.isnan(X), fill, X), found_count # ------------------------- @@ -98,29 +89,54 @@ def run_infer(settings: Dict[str, Any]): inf_c = settings.get("infer", {}) api_c = settings.get("api", {}) mqtt_c = settings.get("mqtt", {}) + model_path = inf_c.get("model_path", "/data/model/model.joblib") log(f"INFER_MODE build tag={BUILD_TAG}") - # Caricamento Modello e Configurazione Training - try: - model_pkg = joblib.load(inf_c.get("model_path", "/data/model/model.joblib")) - # Recuperiamo l'ordine dei gateway e il nan_fill direttamente dal modello salvato - gateways_ordered = model_pkg.get("gateways_order") - nan_fill = float(model_pkg.get("nan_fill", -110.0)) - log(f"Model loaded. Features: {len(gateways_ordered)}, Fill: {nan_fill}") - except Exception as e: - log(f"CRITICAL: Failed to load model: {e}") - return + # Variabili di stato per il caricamento dinamico + model_pkg = None + last_model_mtime = 0 + gateways_ordered = [] + gateways_set = set() + nan_fill = -110.0 + + def load_model_dynamic(): + nonlocal model_pkg, last_model_mtime, gateways_ordered, gateways_set, nan_fill + try: + current_mtime = os.path.getmtime(model_path) + if current_mtime != last_model_mtime: + log(f"🧠 Caricamento/Aggiornamento modello: {model_path}") + model_pkg = joblib.load(model_path) + last_model_mtime = current_mtime + + # METADATI PER DEBUG + gateways_ordered = model_pkg.get("gateways_order", []) + gateways_set = set(gateways_ordered) + nan_fill = float(model_pkg.get("nan_fill", -110.0)) + floors = list(model_pkg.get("xy_by_floor", {}).keys()) + + log(f"✅ MODELLO PRONTO: {len(gateways_ordered)} GW allenati.") + log(f"🏢 Piani mappati: {floors}") + log(f"🧪 Valore Fill (NaN): {nan_fill}") + if len(gateways_ordered) > 0: + log(f"📡 Primi 3 GW di riferimento: {gateways_ordered[:3]}") + return True + except Exception as e: + if model_pkg is None: + log(f"⚠️ In attesa di un modello valido in {model_path}...") + return False + return True + + # Primo caricamento + load_model_dynamic() - gateways_set = set(gateways_ordered) rolling = RollingRSSI(float(inf_c.get("window_seconds", 5.0))) - # --- Gestione Token e Beacons (identica a prima) --- + # --- Gestione Token e Beacons --- token_cache = {"token": None, "expires_at": 0} def get_token(): if time.time() < token_cache["expires_at"]: return token_cache["token"] try: - # Recupero credenziali da secrets.yaml with open("/config/secrets.yaml", "r") as f: sec = yaml.safe_load(f).get("oidc", {}) payload = { @@ -147,6 +163,7 @@ def run_infer(settings: Dict[str, Any]): except: return [] def on_message(client, userdata, msg): + if not gateways_set: return gw = _norm_mac(msg.topic.split("/")[-1]) if gw not in gateways_set: return try: @@ -158,9 +175,12 @@ def run_infer(settings: Dict[str, Any]): mqtt_client = mqtt.Client() mqtt_client.on_message = on_message - mqtt_client.connect(mqtt_c["host"], mqtt_c["port"]) - mqtt_client.subscribe(mqtt_c["topic"]) - mqtt_client.loop_start() + try: + mqtt_client.connect(mqtt_c["host"], mqtt_c["port"]) + mqtt_client.subscribe(mqtt_c["topic"]) + mqtt_client.loop_start() + except Exception as e: + log(f"MQTT Connect Error: {e}") last_predict, last_api_refresh = 0.0, 0.0 beacons = [] @@ -168,6 +188,9 @@ def run_infer(settings: Dict[str, Any]): while True: now = time.time() rolling.prune() + + # Verifica se il link simbolico model.joblib è cambiato + load_model_dynamic() if now - last_api_refresh >= float(api_c.get("refresh_seconds", 30)): beacons = fetch_beacons() @@ -175,28 +198,31 @@ def run_infer(settings: Dict[str, Any]): if now - last_predict >= float(inf_c.get("refresh_seconds", 10.0)): rows, count_ok = [], 0 - for bm in beacons: - bm_n = _norm_mac(bm) - X, n_found = rolling.aggregate_features(bm_n, gateways_ordered, inf_c.get("aggregate", "median"), nan_fill) - - z, x, y = -1, -1.0, -1.0 - if n_found >= int(inf_c.get("min_non_nan", 1)): - try: - z, x, y = _predict_xyz(model_pkg, X) - if z != -1: count_ok += 1 - except Exception as e: - log(f"Infer error {bm_n}: {e}") - - rows.append(f"{bm_n};{int(z)};{int(round(x))};{int(round(y))}") - - try: - out_p = Path(inf_c.get("output_csv", "/data/infer/infer.csv")) - with open(str(out_p) + ".tmp", "w") as f: - f.write("mac;z;x;y\n") - for r in rows: f.write(r + "\n") - os.replace(str(out_p) + ".tmp", out_p) - log(f"CYCLE: {count_ok}/{len(rows)} localized") - except Exception as e: log(f"File Error: {e}") + + if model_pkg: + for bm in beacons: + bm_n = _norm_mac(bm) + X, n_found = rolling.aggregate_features(bm_n, gateways_ordered, inf_c.get("aggregate", "median"), nan_fill) + + z, x, y = -1, -1.0, -1.0 + if n_found >= int(inf_c.get("min_non_nan", 1)): + try: + z, x, y = _predict_xyz(model_pkg, X) + if z != -1: count_ok += 1 + except Exception as e: + pass + + rows.append(f"{bm_n};{int(z)};{int(round(x))};{int(round(y))}") + + try: + out_p = Path(inf_c.get("output_csv", "/data/infer/infer.csv")) + out_p.parent.mkdir(parents=True, exist_ok=True) + with open(str(out_p) + ".tmp", "w") as f: + f.write("mac;z;x;y\n") + for r in rows: f.write(r + "\n") + os.replace(str(out_p) + ".tmp", out_p) + log(f"CYCLE: {count_ok}/{len(rows)} localized") + except Exception as e: log(f"File Error: {e}") last_predict = now time.sleep(0.5) diff --git a/app/main.py b/app/main.py index 4605319..704dd83 100644 --- a/app/main.py +++ b/app/main.py @@ -1,817 +1,75 @@ -from .logger_utils import setup_global_logging, log_msg as log -import csv -import io -import json import os -import ssl import time -import traceback -from dataclasses import dataclass -from pathlib import Path -from typing import Any, Dict, List, Optional, Tuple -import hashlib -import re -import math -import statistics -import pandas as pd -import numpy as np -import requests -import joblib -import paho.mqtt.client as mqtt - -# Import locali corretti +import threading +from .logger_utils import setup_global_logging, log_msg as log from .settings import load_settings -def build_info() -> str: - return "infer-debug-v19-fixed" - -def main() -> None: - # 1. Carica impostazioni - settings = load_settings() - - # 2. Setup immediato dei log e dei silenziatori (PRIMA di ogni altra cosa) - setup_global_logging(settings) - - # 3. Ora puoi loggare e tutto sarà sincronizzato e pulito - cfg_file = settings.get("_config_file", "/config/config.yaml") - keys = [k for k in settings.keys() if not str(k).startswith("_")] - - log(f"Settings loaded from {cfg_file}. Keys: {keys}") - log(f"BUILD: {build_info()}") - -def mac_plain(s: str) -> str: - """Normalizza MAC a 12 hex uppercase senza separatori.""" - return re.sub(r"[^0-9A-Fa-f]", "", (s or "")).upper() - -def mac_colon(s: str) -> str: - """MAC in formato AA:BB:CC:DD:EE:FF.""" - p = mac_plain(s) - if len(p) != 12: - return p - return ":".join(p[i:i+2] for i in range(0, 12, 2)) - -def fmt_rssi(v, decimals: int) -> str: - """Formatta RSSI come stringa, evitando '-82.0' quando decimals=0.""" - if v is None: - return "nan" - try: - fv = float(v) - except Exception: - return "nan" - if math.isnan(fv): - return "nan" - if decimals <= 0: - return str(int(round(fv))) - return f"{round(fv, decimals):.{decimals}f}" - - -# ----------------------------- - -# Build info (printed at startup for traceability) -BUILD_ID = "ble-ai-localizer main.py 2026-01-30 build-floatagg-v1" +# --- NUOVO IMPORT --- +from .train_executor import run_train_monitor def build_info() -> str: - """Return a short build identifier for logs (no external deps, no git required).""" - try: - p = Path(__file__) - data = p.read_bytes() - sha = hashlib.sha256(data).hexdigest()[:12] - size = p.stat().st_size - return f"{BUILD_ID} sha256={sha} size={size}" - except Exception: - return f"{BUILD_ID} sha256=? size=?" - -# Settings -# ----------------------------- -def load_settings() -> Dict[str, Any]: - cfg = os.environ.get("CONFIG", "/config/config.yaml") - import yaml - with open(cfg, "r", encoding="utf-8") as f: - data = yaml.safe_load(f) or {} - data["_config_file"] = cfg - - # Normalize config sections: prefer collect_train - if "collect_train" not in data and "training" in data: - log("WARNING: config usa 'training:' (alias). Consiglio: rinomina in 'collect_train:'") - data["collect_train"] = data.get("training", {}) or {} - return data - - -# ----------------------------- -# MAC helpers -# ----------------------------- -def norm_mac(mac: str) -> str: - """Return MAC as AA:BB:CC:DD:EE:FF (upper), ignoring separators.""" - m = (mac or "").strip().replace("-", "").replace(":", "").replace(".", "") - m = m.upper() - if len(m) != 12: - return mac.strip().upper() - return ":".join(m[i:i+2] for i in range(0, 12, 2)) - - -# ----------------------------- -# CSV write helpers -# ----------------------------- -def safe_write_csv( - path: Path, - header: List[str], - rows: List[Dict[str, Any]], - delimiter: str = ";", - rssi_decimals: int = 0, -): - """Scrive CSV in modo atomico e formattazione 'umana'. - - - numeri interi: senza decimali (es. -82 invece di -82.0) - - RSSI: arrotondamento controllato da rssi_decimals (0 -> intero, >0 -> N cifre decimali) - *si applica solo alle colonne RSSI (dopo mac/x/y/z)* - - NaN: 'nan' - - colonna 'mac': normalizzata in formato con ':' (es. C3:00:00:57:B9:E7) se passa un MAC valido - """ - tmp = path.with_suffix(path.suffix + ".tmp") - # csv.writer richiede un singolo carattere come delimiter - if not isinstance(delimiter, str) or len(delimiter) != 1: - delimiter = ";" - - try: - rssi_decimals = int(rssi_decimals) - except Exception: - rssi_decimals = 0 - if rssi_decimals < 0: - rssi_decimals = 0 - - def fmt_cell(v: Any, col: str, idx: int) -> str: - if v is None: - return "nan" - - # MAC normalizzato con ':' - if col.lower() == "mac" and isinstance(v, str): - v2 = mac_colon(v) - return v2 - - # NaN float - if isinstance(v, float): - if math.isnan(v): - return "nan" - - # colonne RSSI (dopo mac/x/y/z) - if idx >= 4: - if rssi_decimals == 0: - return str(int(round(v))) - return f"{v:.{rssi_decimals}f}" - - # altre colonne: compatta i (quasi) interi - if abs(v - round(v)) < 1e-9: - return str(int(round(v))) - return str(v) - - # int / numpy int - if isinstance(v, (int, np.integer)): - # RSSI columns (after mac/x/y/z): respect rssi_decimals even for integer values - if idx >= 4: - if rssi_decimals == 0: - return str(int(v)) - return f"{float(v):.{rssi_decimals}f}" - return str(int(v)) - - # numpy float - if isinstance(v, np.floating): - fv = float(v) - if math.isnan(fv): - return "nan" - if idx >= 4: - if rssi_decimals == 0: - return str(int(round(fv))) - return f"{fv:.{rssi_decimals}f}" - if abs(fv - round(fv)) < 1e-9: - return str(int(round(fv))) - return str(fv) - - return str(v) - - with tmp.open("w", newline="") as f: - w = csv.writer(f, delimiter=delimiter) - w.writerow(header) - for row in rows: - w.writerow([fmt_cell(row.get(col), col, idx) for idx, col in enumerate(header)]) - - tmp.replace(path) - - - - -def _coord_token(v: float) -> str: - # Stable token for filenames from coordinates. - # - if integer-ish -> '123' - # - else keep up to 3 decimals, strip trailing zeros, replace '.' with '_' - try: - fv=float(v) - except Exception: - return str(v) - if abs(fv - round(fv)) < 1e-9: - return str(int(round(fv))) - s=f"{fv:.3f}".rstrip('0').rstrip('.') - return s.replace('.', '_') -def read_job_csv(job_path: Path, delimiter: str) -> List[Dict[str, Any]]: - """Legge job CSV supportando due formati: - - 1) Legacy: - mac;x;y;z - C3000057B9F4;1200;450;0 - - 2) Esteso (storico): - Position;Floor;RoomName;X;Y;Z;BeaconName;MAC - A21;1;P1-NETW;800;1050;1;BC-21;C3:00:00:57:B9:E6 - - Estrae solo X,Y,Z,MAC e normalizza MAC in formato compatto (senza ':', uppercase). - """ - text = job_path.read_text(encoding="utf-8", errors="replace") - if not text.strip(): - return [] - - first_line = next((ln for ln in text.splitlines() if ln.strip()), "") - use_delim = delimiter - if use_delim not in first_line: - if ";" in first_line and "," not in first_line: - use_delim = ";" - elif "," in first_line and ";" not in first_line: - use_delim = "," - - def hnorm(h: str) -> str: - h = (h or "").strip().lower() - h = re_sub_non_alnum(h) - return h - - f = io.StringIO(text) - r = csv.reader(f, delimiter=use_delim) - header = next(r, None) - if not header: - return [] - - header_norm = [hnorm(h) for h in header] - idx = {name: i for i, name in enumerate(header_norm) if name} - - def find_idx(names: List[str]) -> Optional[int]: - for n in names: - if n in idx: - return idx[n] - return None - - mac_i = find_idx(["mac", "beaconmac", "beacon_mac", "trackermac", "tracker_mac", "device", "devicemac"]) - x_i = find_idx(["x"]) - y_i = find_idx(["y"]) - z_i = find_idx(["z"]) - - if mac_i is None or x_i is None or y_i is None or z_i is None: - raise ValueError( - f"Job CSV header non riconosciuto: {header}. " - f"Attesi campi MAC/X/Y/Z (case-insensitive)." - ) - - rows: List[Dict[str, Any]] = [] - for cols in r: - if not cols: - continue - if len(cols) <= max(mac_i, x_i, y_i, z_i): - continue - mac_raw = (cols[mac_i] or "").strip() - if not mac_raw: - continue - - mac_compact = norm_mac(mac_raw).replace(":", "") - - try: - x = float((cols[x_i] or "").strip()) - y = float((cols[y_i] or "").strip()) - z = float((cols[z_i] or "").strip()) - except Exception: - continue - - rows.append({"mac": mac_compact, "x": x, "y": y, "z": z}) - - return rows - - -def re_sub_non_alnum(s: str) -> str: - out = [] - for ch in s: - if ("a" <= ch <= "z") or ("0" <= ch <= "9"): - out.append(ch) - return "".join(out) - - -def write_samples_csv( - out_path: Path, - sample_rows: List[Dict[str, Any]], - gateway_macs: List[str], - *, - delimiter: str = ";", - rssi_decimals: int = 0, -) -> None: - header = ["mac", "x", "y", "z"] + gateway_macs - safe_write_csv(out_path, header, sample_rows, delimiter=delimiter, rssi_decimals=rssi_decimals) - -def load_gateway_csv(path: Path, delimiter: str = ";") -> Tuple[List[str], int, int]: - df = pd.read_csv(path, delimiter=delimiter) - cols = [c.strip().lower() for c in df.columns] - df.columns = cols - - invalid = 0 - macs: List[str] = [] - seen = set() - - if "mac" not in df.columns: - raise ValueError(f"gateway.csv must have a 'mac' column, got columns={list(df.columns)}") - - for v in df["mac"].astype(str).tolist(): - nm = norm_mac(v) - if len(nm.replace(":", "")) != 12: - invalid += 1 - continue - if nm in seen: - continue - seen.add(nm) - macs.append(nm) - - duplicates = max(0, len(df) - invalid - len(macs)) - return macs, invalid, duplicates - - -# ----------------------------- -# Fingerprint collector -# ----------------------------- -@dataclass -class FingerprintStats: - counts: Dict[str, Dict[str, int]] - last: Dict[str, Dict[str, float]] + return "core-orchestrator-v1.4-background-train" +def run_all_modes(settings): + """Lancia in simultanea i processi core: Collect, Infer e il nuovo Train Executor.""" + log("Avvio modalità SIMULTANEA (Collect + Train Executor + Infer)...") + + # 1. Importiamo le funzioni dai rispettivi moduli + from .train_collect import run_collect_train + from .infer_mode import run_infer -class FingerprintCollector: - def __init__(self) -> None: - self._lock = None - try: - import threading - self._lock = threading.Lock() - except Exception: - self._lock = None - - # beacon_norm -> gw_norm -> list of rssi - self.rssi: Dict[str, Dict[str, List[float]]] = {} - self.last_seen_gw: Dict[str, float] = {} - self.last_seen_beacon: Dict[str, float] = {} - - def _with_lock(self): - if self._lock is None: - class Dummy: - def __enter__(self): return None - def __exit__(self, *a): return False - return Dummy() - return self._lock - - def update(self, gw_mac: str, beacon_mac: str, rssi: float) -> None: - gw = norm_mac(gw_mac) - b = norm_mac(beacon_mac) - now = time.time() - with self._with_lock(): - self.last_seen_gw[gw] = now - self.last_seen_beacon[b] = now - self.rssi.setdefault(b, {}).setdefault(gw, []).append(float(rssi)) - - def stats(self, beacons: List[str], gateways: List[str]) -> FingerprintStats: - with self._with_lock(): - counts: Dict[str, Dict[str, int]] = {b: {g: 0 for g in gateways} for b in beacons} - last: Dict[str, Dict[str, float]] = {b: {g: float("nan") for g in gateways} for b in beacons} - for b in beacons: - bm = norm_mac(b) - for g in gateways: - gm = norm_mac(g) - vals = self.rssi.get(bm, {}).get(gm, []) - counts[bm][gm] = len(vals) - if vals: - last[bm][gm] = vals[-1] - return FingerprintStats(counts=counts, last=last) - - def feature_row( - self, - beacon_mac: str, - gateways: List[str], - aggregate: str, - rssi_min: float, - rssi_max: float, - min_samples_per_gateway: int, - outlier_method: str, - mad_z: float, - iqr_k: float, - max_stddev: Optional[float], - ) -> Dict[str, float]: - b = norm_mac(beacon_mac) - out: Dict[str, float] = {} - with self._with_lock(): - for g in gateways: - gm = norm_mac(g) - vals = list(self.rssi.get(b, {}).get(gm, [])) - - # hard clamp - vals = [v for v in vals if (rssi_min <= v <= rssi_max)] - if len(vals) < min_samples_per_gateway: - out[gm] = float("nan") - continue - - # outlier removal - vals2 = vals - if outlier_method == "mad": - vals2 = mad_filter(vals2, z=mad_z) - elif outlier_method == "iqr": - vals2 = iqr_filter(vals2, k=iqr_k) - - if len(vals2) < min_samples_per_gateway: - out[gm] = float("nan") - continue - - if max_stddev is not None: - import statistics - try: - sd = statistics.pstdev(vals2) - if sd > max_stddev: - out[gm] = float("nan") - continue - except Exception: - pass - - # Aggregate: mantieni float (niente cast a int) per poter usare rssi_decimals. - if aggregate == "median": - out[gm] = float(statistics.median(vals2)) - elif aggregate == "median_low": - out[gm] = float(statistics.median_low(sorted(vals2))) - elif aggregate == "median_high": - out[gm] = float(statistics.median_high(sorted(vals2))) - elif aggregate == "mean": - out[gm] = float(statistics.fmean(vals2)) - else: - out[gm] = float(statistics.median(vals2)) - return out - - -def mad_filter(vals: List[float], z: float = 3.5) -> List[float]: - if not vals: - return vals - s = pd.Series(vals) - med = s.median() - mad = (s - med).abs().median() - if mad == 0: - return vals - mz = 0.6745 * (s - med).abs() / mad - return [float(v) for v, keep in zip(vals, (mz <= z).tolist()) if keep] - - -def iqr_filter(vals: List[float], k: float = 1.5) -> List[float]: - if not vals: - return vals - s = pd.Series(vals) - q1 = s.quantile(0.25) - q3 = s.quantile(0.75) - iqr = q3 - q1 - if iqr == 0: - return vals - lo = q1 - k * iqr - hi = q3 + k * iqr - return [float(v) for v in vals if lo <= v <= hi] - - -# ----------------------------- -# MQTT parsing -# ----------------------------- -def parse_topic_gateway(topic: str) -> Optional[str]: - # expected: publish_out/ - parts = (topic or "").split("/") - if len(parts) < 2: - return None - return parts[-1] - - -def parse_payload_list(payload: bytes) -> Optional[List[Dict[str, Any]]]: - try: - obj = json.loads(payload.decode("utf-8", errors="replace")) - if isinstance(obj, list): - return obj - return None - except Exception: - return None - - -def is_gateway_announce(item: Dict[str, Any]) -> bool: - return str(item.get("type", "")).strip().lower() == "gateway" and "mac" in item - - -# ----------------------------- -# Collect train -# ----------------------------- -def run_collect_train(settings: Dict[str, Any]) -> None: - cfg = settings.get("collect_train", {}) or {} - paths = settings.get("paths", {}) or {} - mqtt_cfg = settings.get("mqtt", {}) or {} - debug = settings.get("debug", {}) or {} - - window_seconds = float(cfg.get("window_seconds", 180)) - poll_seconds = float(cfg.get("poll_seconds", 2)) - min_non_nan = int(cfg.get("min_non_nan", 3)) - min_samples_per_gateway = int(cfg.get("min_samples_per_gateway", 5)) - aggregate = str(cfg.get("aggregate", "median")) - # Numero di cifre decimali per i valori RSSI nei file samples (0 = intero) - try: - rssi_decimals = int(cfg.get("rssi_decimals", 0)) - except Exception: - rssi_decimals = 0 - if rssi_decimals < 0: - rssi_decimals = 0 - rssi_min = float(cfg.get("rssi_min", -110)) - rssi_max = float(cfg.get("rssi_max", -25)) - outlier_method = str(cfg.get("outlier_method", "mad")) - mad_z = float(cfg.get("mad_z", 3.5)) - iqr_k = float(cfg.get("iqr_k", 1.5)) - max_stddev = cfg.get("max_stddev", None) - max_stddev = float(max_stddev) if max_stddev is not None else None - - gateway_csv = Path(paths.get("gateways_csv", "/data/config/gateway.csv")) - csv_delimiter = str(paths.get("csv_delimiter", ";")) - - jobs_dir = Path(cfg.get("jobs_dir", "/data/train/jobs")) - pending_dir = jobs_dir / "pending" - done_dir = jobs_dir / "done" - error_dir = jobs_dir / "error" - samples_dir = Path(cfg.get("samples_dir", "/data/train/samples")) - - pending_dir.mkdir(parents=True, exist_ok=True) - done_dir.mkdir(parents=True, exist_ok=True) - error_dir.mkdir(parents=True, exist_ok=True) - samples_dir.mkdir(parents=True, exist_ok=True) - - gw_ready_log_seconds = float(cfg.get("gw_ready_log_seconds", 10)) - gw_ready_sleep_seconds = float(cfg.get("gw_ready_sleep_seconds", 5)) - gw_ready_check_before_job = bool(cfg.get("gw_ready_check_before_job", True)) - online_max_age_s = float(debug.get("online_check_seconds", 30)) - progress_log_seconds = float(cfg.get("wait_all_gateways_log_seconds", 30)) - - gateway_macs, invalid, duplicates = load_gateway_csv(gateway_csv, delimiter=csv_delimiter) - log(f"[gateway.csv] loaded gateways={len(gateway_macs)} invalid={invalid} duplicates={duplicates}") - - log( - "COLLECT_TRAIN config: gateway_csv=%s gateways(feature-set)=%d window_seconds=%.1f poll_seconds=%.1f rssi_decimals=%d jobs_dir=%s " - "pending_dir=%s done_dir=%s error_dir=%s samples_dir=%s mqtt=%s:%s topic=%s" - % ( - gateway_csv, - len(gateway_macs), - window_seconds, - poll_seconds, - rssi_decimals, - jobs_dir, - pending_dir, - done_dir, - error_dir, - samples_dir, - mqtt_cfg.get("host", ""), - mqtt_cfg.get("port", ""), - mqtt_cfg.get("topic", "publish_out/#"), - ) - ) - - fp = FingerprintCollector() - - # MQTT setup - host = mqtt_cfg.get("host", "127.0.0.1") - port = int(mqtt_cfg.get("port", 1883)) - topic = mqtt_cfg.get("topic", "publish_out/#") - client_id = mqtt_cfg.get("client_id", "ble-ai-localizer") - keepalive = int(mqtt_cfg.get("keepalive", 60)) - proto = mqtt.MQTTv311 - - def on_connect(client, userdata, flags, rc): - log(f"MQTT connected rc={rc}, subscribed to {topic}") - client.subscribe(topic) - - def on_message(client, userdata, msg): - gw_from_topic = parse_topic_gateway(msg.topic) - if not gw_from_topic: - return - payload_list = parse_payload_list(msg.payload) - if not payload_list: - return - - for it in payload_list: - if not isinstance(it, dict): - continue - if is_gateway_announce(it): - gwm = it.get("mac", gw_from_topic) - fp.last_seen_gw[norm_mac(gwm)] = time.time() - continue - - bmac = it.get("mac") - rssi = it.get("rssi") - if not bmac or rssi is None: - continue - try: - fp.update(gw_from_topic, bmac, float(rssi)) - except Exception: - continue - - client = mqtt.Client(client_id=client_id, protocol=proto) - client.on_connect = on_connect - client.on_message = on_message - - username = str(mqtt_cfg.get("username", "") or "") - password = str(mqtt_cfg.get("password", "") or "") - if username: - client.username_pw_set(username, password) + # 2. Thread per la RACCOLTA DATI (Collect) + t_collect = threading.Thread(target=run_collect_train, args=(settings,), name="CollectorThread", daemon=True) + + # 3. Thread per il MONITOR ADDESTRAMENTO (Train Executor) + # Rileva i file .lock inviati dal Web e addestra il modello in background + t_train_exec = threading.Thread(target=run_train_monitor, name="TrainExecutorThread", daemon=True) - tls = bool(mqtt_cfg.get("tls", False)) - if tls: - client.tls_set(cert_reqs=ssl.CERT_NONE) - client.tls_insecure_set(True) + # 4. Thread per l'INFERENZA (Predict) + t_infer = threading.Thread(target=run_infer, args=(settings,), name="InferenceThread", daemon=True) - log("MQTT thread started (collect_train)") - client.connect(host, port, keepalive=keepalive) - client.loop_start() + # Avvio di tutti i processi in parallelo + t_collect.start() + t_train_exec.start() + t_infer.start() - # Wait gateways online - last_ready_log = 0.0 - while True: - now = time.time() - online = 0 - missing = [] - for g in gateway_macs: - seen = fp.last_seen_gw.get(norm_mac(g)) - if seen is not None and (now - seen) <= online_max_age_s: - online += 1 - else: - missing.append(norm_mac(g)) - if online == len(gateway_macs): - log(f"GW READY: online={online}/{len(gateway_macs)} (max_age_s={online_max_age_s:.1f})") - break - if now - last_ready_log >= gw_ready_log_seconds: - log(f"WAIT gateways online ({len(missing)} missing, seen={online}/{len(gateway_macs)}): {missing} (max_age_s={online_max_age_s:.1f})") - last_ready_log = now - time.sleep(gw_ready_sleep_seconds) - - # Job loop + log("Tutti i processi core (incluso Train Executor) sono attivi.") + + # Mantieni il main process attivo while True: - try: - # periodic gw ready log - now = time.time() - if now - last_ready_log >= gw_ready_log_seconds: - online = 0 - for g in gateway_macs: - seen = fp.last_seen_gw.get(norm_mac(g)) - if seen is not None and (now - seen) <= online_max_age_s: - online += 1 - log(f"GW READY: online={online}/{len(gateway_macs)} (max_age_s={online_max_age_s:.1f})") - last_ready_log = now - - # pick job - job_files = sorted(pending_dir.glob("*.csv")) - if not job_files: - time.sleep(poll_seconds) - continue - - job_path = job_files[0] - job_name = job_path.name - - rows = read_job_csv(job_path, delimiter=csv_delimiter) - if not rows: - # move empty/bad jobs to error - log(f"TRAIN job ERROR: {job_name} err=EmptyJob: no valid rows") - job_path.rename(error_dir / job_path.name) - continue - - # normalize beacons for stats keys - job_beacons_norm = [norm_mac(r["mac"]) for r in rows] - - # optionally wait gateways online before starting the window - if gw_ready_check_before_job: - while True: - now = time.time() - online = 0 - missing = [] - for g in gateway_macs: - seen = fp.last_seen_gw.get(norm_mac(g)) - if seen is not None and (now - seen) <= online_max_age_s: - online += 1 - else: - missing.append(norm_mac(g)) - if online == len(gateway_macs): - break - log(f"WAIT gateways online before job ({len(missing)} missing, seen={online}/{len(gateway_macs)}): {missing}") - time.sleep(1.0) - - log(f"TRAIN job START: {job_name} beacons={len(rows)}") - - start = time.time() - deadline = start + window_seconds - next_progress = start + progress_log_seconds - - while time.time() < deadline: - time.sleep(0.5) - if progress_log_seconds > 0 and time.time() >= next_progress: - st = fp.stats(job_beacons_norm, gateway_macs) - parts = [] - for b in job_beacons_norm: - total = sum(st.counts[b].values()) - gw_seen = sum(1 for g in gateway_macs if st.counts[b][g] > 0) - parts.append(f"{b.replace(':','')}: total={total} gw={gw_seen}/{len(gateway_macs)}") - elapsed = int(time.time() - start) - log(f"COLLECT progress: {elapsed}s/{int(window_seconds)}s " + " | ".join(parts)) - next_progress = time.time() + progress_log_seconds - - out_rows: List[Dict[str, Any]] = [] - st = fp.stats(job_beacons_norm, gateway_macs) - - for r, b_norm in zip(rows, job_beacons_norm): - feats = fp.feature_row( - beacon_mac=b_norm, - gateways=gateway_macs, - aggregate=aggregate, - rssi_min=rssi_min, - rssi_max=rssi_max, - min_samples_per_gateway=min_samples_per_gateway, - outlier_method=outlier_method, - mad_z=mad_z, - iqr_k=iqr_k, - max_stddev=max_stddev, - ) - - non_nan = sum(1 for g in gateway_macs if feats.get(g) == feats.get(g)) - if non_nan < min_non_nan: - sample_info = [] - for g in gateway_macs: - c = st.counts[b_norm][g] - if c > 0: - sample_info.append(f"{g} n={c} last={st.last[b_norm][g]}") - preview = ", ".join(sample_info[:8]) + (" ..." if len(sample_info) > 8 else "") - log( - f"WARNING: beacon {b_norm.replace(':','')} low features non_nan={non_nan} " - f"(seen_gw={sum(1 for g in gateway_macs if st.counts[b_norm][g]>0)}) [{preview}]" - ) - - out_row: Dict[str, Any] = { - "mac": r["mac"], # MAC sempre compatto, senza ':' - "x": float(r["x"]), - "y": float(r["y"]), - "z": float(r["z"]), - } - out_row.update(feats) - out_rows.append(out_row) - - written = [] - for out_row in out_rows: - # Nome file: Z_X_Y.csv (Z, X, Y presi dal job) - zt = _coord_token(out_row.get("z")) - xt = _coord_token(out_row.get("x")) - yt = _coord_token(out_row.get("y")) - base_name = f"{zt}_{xt}_{yt}.csv" - out_path = samples_dir / base_name - write_samples_csv(out_path, [out_row], gateway_macs, delimiter=csv_delimiter, rssi_decimals=rssi_decimals) - written.append(out_path.name) - - job_path.rename(done_dir / job_path.name) - if written: - shown = ", ".join(written[:10]) - more = "" if len(written) <= 10 else f" (+{len(written)-10} altri)" - log(f"TRAIN job DONE: wrote {len(written)} sample files to {samples_dir}: {shown}{more}") - else: - log(f"TRAIN job DONE: no output rows (empty job?)") - - except Exception as e: - log(f"TRAIN job ERROR: {job_name} err={type(e).__name__}: {e}") - try: - job_path.rename(error_dir / job_path.name) - except Exception: - pass - time.sleep(0.5) - + time.sleep(10) def main() -> None: - settings = load_settings() - cfg_file = settings.get("_config_file", "") - keys = [k for k in settings.keys() if not str(k).startswith("_")] - log(f"Settings loaded from {cfg_file}. Keys: {keys}") - log(f"BUILD: {build_info()}") - - mode = str(settings.get("mode", "collect_train")).strip().lower() - - if mode == "collect_train": - run_collect_train(settings) - return - - if mode == "train": - from .train_mode import run_train - run_train(settings) - return - - if mode == "infer": - from .infer_mode import run_infer - run_infer(settings) - return - - raise ValueError(f"unknown mode: {mode}") + # Fix percorsi configurazione + if not os.environ.get("CONFIG"): + os.environ["CONFIG"] = "/config/config.yaml" + try: + settings = load_settings() + setup_global_logging(settings) + log(f"Core Orchestrator avviato. BUILD: {build_info()}") + + mode = str(settings.get("mode", "all")).strip().lower() + + if mode == "all": + run_all_modes(settings) + elif mode == "collect_train": + from .train_collect import run_collect_train + run_collect_train(settings) + elif mode == "infer": + from .infer_mode import run_infer + run_infer(settings) + elif mode == "train": + # Questa rimane la vecchia modalità manuale one-shot + from .train_mode import run_train + run_train(settings) + else: + log(f"Modalità {mode} non riconosciuta.") + + except Exception as e: + print(f"ERRORE CRITICO ALL'AVVIO: {e}") + import traceback + traceback.print_exc() if __name__ == "__main__": main() diff --git a/app/map_manager.py b/app/map_manager.py index c962510..7b1aaf9 100644 --- a/app/map_manager.py +++ b/app/map_manager.py @@ -33,15 +33,29 @@ def force_save_json(path, data): def show_mapper(cfg): MAPS_DIR = Path(cfg['maps']['map_dir']) - SAMPLES_DIR = Path("/data/train/samples") + + # Riferimenti directory per Addestramento e Test + TRAIN_BASE = Path("/data/train") + SAMPLES_DIR = TRAIN_BASE / "samples" + TEST_SAMPLES_DIR = TRAIN_BASE / "testsamples" + JOBS_BASE = Path(cfg['collect_train']['jobs_dir']) PENDING_DIR = JOBS_BASE / "pending" ERROR_DIR = JOBS_BASE / "error" + + TEST_PENDING_DIR = TRAIN_BASE / "testjobs/pending" + TEST_ERROR_DIR = TRAIN_BASE / "testjobs/error" + + # File configurazione BEACONS_FILE = "/data/config/beacons.csv" - [p.mkdir(parents=True, exist_ok=True) for p in [MAPS_DIR, SAMPLES_DIR, PENDING_DIR, ERROR_DIR]] + GROUPS_FILE = "/data/config/beacongroup.csv" + CSV_DELIM = cfg.get('paths', {}).get('csv_delimiter', ';') + + # Creazione directory se mancano + for p in [MAPS_DIR, SAMPLES_DIR, TEST_SAMPLES_DIR, PENDING_DIR, ERROR_DIR, TEST_PENDING_DIR, TEST_ERROR_DIR]: + p.mkdir(parents=True, exist_ok=True) # --- 1. GESTIONE UPLOAD --- - # La logica ora gestisce stringhe per floor_id permettendo il carattere "-" maps = sorted([f.replace(cfg['maps']['floor_prefix'], "").split('.')[0] for f in os.listdir(MAPS_DIR) if f.startswith(cfg['maps']['floor_prefix'])]) @@ -52,7 +66,6 @@ def show_mapper(cfg): if st.button("🚀 SALVA PIANO", use_container_width=True): if new_f_id and up_file: ext = Path(up_file.name).suffix - # Il nome file includerà il "-" se presente in new_f_id img_save_path = MAPS_DIR / f"{cfg['maps']['floor_prefix']}{new_f_id}{ext}" with open(img_save_path, "wb") as f: f.write(up_file.getbuffer()) @@ -85,22 +98,13 @@ def show_mapper(cfg): with c_s: st.info(f"📏 Scala: {'✅' if meta['calibrated'] else '❌'}\n({meta['pixel_ratio']:.4f} px/cm)") with c_o: st.info(f"🎯 Origine: {'✅' if meta['origin'] != [0,0] else '❌'}\n(X:{meta['origin'][0]}, Y:{meta['origin'][1]})") - if not meta["calibrated"] or meta["origin"] == [0, 0]: - st.warning(f"💡 **Piano {floor_id} da configurare**: Esegui **Calibra** e imposta l'**Origine**.") - - # --- 3. IMPOSTAZIONI GLOBALI (Default disabilitati) --- + # --- 3. IMPOSTAZIONI GLOBALI --- st.markdown("---") g1, g2, g3, g4 = st.columns([1.2, 1.5, 1.2, 2]) - with g1: - # Griglia disattivata di default per evitare interferenze iniziali - show_grid = st.toggle("Griglia", value=False, key="grid_v21") - with g2: - grid_cm = st.select_slider("Passo (cm):", options=[25, 50, 100, 200], value=50, key="step_v21") - with g3: - # Stay Grid disattivato di default - snap_on = st.toggle("Stay Grid", value=False, key="snap_v21") - with g4: - m_size = st.slider("Dimensione Marker:", 5, 20, 8, key="msize_v21") + with g1: show_grid = st.toggle("Griglia", value=False, key="grid_v21") + with g2: grid_cm = st.select_slider("Passo (cm):", options=[25, 50, 100, 200], value=50, key="step_v21") + with g3: snap_on = st.toggle("Stay Grid", value=False, key="snap_v21") + with g4: m_size = st.slider("Dimensione Marker:", 5, 20, 8, key="msize_v21") st.markdown("---") # --- 4. TOOLSET --- @@ -121,12 +125,10 @@ def show_mapper(cfg): m.options.update({"minZoom": -6, "maxZoom": 6, "zoomSnap": 0.25, "maxBounds": bounds, "maxBoundsViscosity": 1.0}) folium.raster_layers.ImageOverlay(image=img_data, bounds=bounds, interactive=True).add_to(m) - # ORIGINE (Sempre visibile se impostata) if meta["origin"] != [0, 0]: ox, oy = meta["origin"] - folium.CircleMarker(location=[oy, ox], radius=6, color="black", fill=True, zindex=1000, tooltip="Origine (0,0)").add_to(m) + folium.CircleMarker(location=[oy, ox], radius=6, color="black", fill=True, zindex=1000).add_to(m) - # GRIGLIA if show_grid and meta["calibrated"] and meta["origin"] != [0, 0]: px_step = grid_cm * meta["pixel_ratio"] ox, oy = meta["origin"] @@ -135,34 +137,73 @@ def show_mapper(cfg): for y in sorted(list(range(int(oy), h, int(px_step))) + list(range(int(oy), 0, -int(px_step)))): folium.PolyLine([[y, 0], [y, w]], color="blue", weight=1, opacity=0.1).add_to(m) - # Disegno Punti Storici - def draw_points(directory, color, shape="circle"): + # --- DISEGNO PUNTI STORICI (OTTIMIZZATO TRAMITE NOME FILE) --- + def draw_historical_samples(directory, color, shape="circle", is_test=False): + if not meta["calibrated"] or meta["origin"] == [0,0]: return + for f in Path(directory).glob("*.csv"): + try: + # Parsing nome file: CAMPAGNA_Z_X_Y.csv + # Usiamo parts[-1], parts[-2], parts[-3] per gestire campagne con underscore + parts = f.stem.split('_') + if len(parts) < 4: continue + + fz = parts[-3] # Piano Z + fx = float(parts[-2].replace(',', '.')) # Coordinata X + fy = float(parts[-1].replace(',', '.')) # Coordinata Y + + if str(fz) == str(floor_id): + px_x = (fx * meta["pixel_ratio"]) + meta["origin"][0] + px_y = meta["origin"][1] - (fy * meta["pixel_ratio"]) + + dash = "5, 5" if is_test else None + weight = 3 if is_test else 1 + + if shape == "circle": + folium.CircleMarker( + location=[px_y, px_x], radius=m_size, color=color, + weight=weight, dash_array=dash, fill=True, fill_opacity=0.7 + ).add_to(m) + except: continue + + # 1. ADDESTRAMENTO: Verde, Tondo, Solido + draw_historical_samples(SAMPLES_DIR, "green", "circle", is_test=False) + + # 2. TEST: Celeste (#00FFFF), Tondo, Tratteggiato + draw_historical_samples(TEST_SAMPLES_DIR, "#00FFFF", "circle", is_test=True) + + # 3. PENDING/ERROR: (Manteniamo la lettura CSV per questi perché i nomi file sono diversi) + def draw_jobs(directory, color, shape="diamond", is_test=False): if not meta["calibrated"] or meta["origin"] == [0,0]: return for f in Path(directory).glob("*.csv"): try: df = pd.read_csv(f, sep=";") df.columns = [c.lower() for c in df.columns] - # Confronto tra stringhe per gestire piani negativi e ID complessi - if str(df.iloc[0].get('z', df.iloc[0].get('floor'))) == str(floor_id): - px_x = (df.iloc[0]['x'] * meta["pixel_ratio"]) + meta["origin"][0] - px_y = meta["origin"][1] - (df.iloc[0]['y'] * meta["pixel_ratio"]) - if shape == "circle": folium.CircleMarker(location=[px_y, px_x], radius=m_size, color=color, fill=True, fill_opacity=0.8).add_to(m) - elif shape == "square": folium.RegularPolygonMarker(location=[px_y, px_x], number_of_sides=4, radius=m_size, color="black", weight=2, fill=True, fill_color=color).add_to(m) - elif shape == "diamond": folium.RegularPolygonMarker(location=[px_y, px_x], number_of_sides=4, rotation=45, radius=m_size, color="black", weight=1, fill=True, fill_color=color).add_to(m) + row = df.iloc[0] + z_val = str(row.get('z', row.get('floor'))) + if z_val == str(floor_id): + px_x = (row['x'] * meta["pixel_ratio"]) + meta["origin"][0] + px_y = meta["origin"][1] - (row['y'] * meta["pixel_ratio"]) + dash = "3, 3" if is_test else None + folium.RegularPolygonMarker( + location=[px_y, px_x], number_of_sides=4, + rotation=45 if shape=="diamond" else 0, + radius=m_size, color=color, weight=2, + dash_array=dash, fill=True + ).add_to(m) except: continue - draw_points(SAMPLES_DIR, "green", "circle") - draw_points(PENDING_DIR, "yellow", "diamond") - draw_points(ERROR_DIR, "red", "square") + draw_jobs(PENDING_DIR, "orange", "diamond", False) + draw_jobs(TEST_PENDING_DIR, "#f1c40f", "diamond", True) + draw_jobs(ERROR_DIR, "red", "square", False) + draw_jobs(TEST_ERROR_DIR, "#e74c3c", "square", True) - # Feedback Visivo Click if tool == "Calibra" and st.session_state.get("cal_points"): for p in st.session_state.cal_points: folium.CircleMarker(location=p, radius=6, color="red", fill=True).add_to(m) if len(st.session_state.cal_points) == 2: folium.PolyLine(st.session_state.cal_points, color="red", weight=3).add_to(m) elif st.session_state.get("temp_lat") is not None: folium.CircleMarker(location=[st.session_state.temp_lat, st.session_state.temp_lng], radius=m_size+2, color="blue", fill=True, zindex=500).add_to(m) - out = st_folium(m, height=600, width=None, key=f"map_v21_{floor_id}_{tool}") + out = st_folium(m, height=600, width=None, key=f"map_v24_{floor_id}_{tool}") click = out.get("last_clicked") if click: clat, clng = click["lat"], click["lng"] @@ -181,9 +222,6 @@ def show_mapper(cfg): # --- 6. LOGICA UI --- with col_ui: st.write(f"### Tool: **{tool}**") - err_files = list(ERROR_DIR.glob("*.csv")) - if err_files and st.button(f"🗑️ PULISCI ERRORI", use_container_width=True): - for f in err_files: os.remove(f); st.rerun() if tool == "Calibra": pts = st.session_state.get("cal_points", []) @@ -201,17 +239,57 @@ def show_mapper(cfg): if st.button("💾 SALVA ORIGINE", use_container_width=True, type="primary"): meta["origin"] = [int(px_x), int(px_y)] if force_save_json(meta_path, meta): st.rerun() + elif tool == "Rileva" and meta["calibrated"]: rx = (px_x - meta["origin"][0]) / meta["pixel_ratio"] ry = (meta["origin"][1] - px_y) / meta["pixel_ratio"] sx, sy = int(round(rx)), int(round(ry)) st.metric("X (cm)", sx); st.metric("Y (cm)", sy) - if os.path.exists(BEACONS_FILE): - b_df = pd.read_csv(BEACONS_FILE, sep=";") - sel_b = st.selectbox("Beacon:", b_df.apply(lambda x: f"{x['BeaconName']} | {x['MAC']}", axis=1)) - if st.button("🚀 REGISTRA", use_container_width=True, type="primary"): - b_name, b_mac = sel_b.split(" | ") - id_str = f"{b_name}_{floor_id}_{sx}_{sy}" - # Salvataggio Z come stringa per mantenere il "-" - data = {"Position": id_str, "Floor": floor_id, "RoomName": b_name, "X": sx, "Y": sy, "Z": floor_id, "BeaconName": b_name, "MAC": b_mac} - pd.DataFrame([data]).to_csv(PENDING_DIR / f"{id_str}.csv", sep=";", index=False); st.rerun() + + st.divider() + job_mode = st.radio("Scopo Rilevamento:", ["Addestramento", "Test"], horizontal=True, key="job_mode_v24") + + b_df = pd.read_csv(Path(BEACONS_FILE), sep=CSV_DELIM) if Path(BEACONS_FILE).exists() else pd.DataFrame(columns=['BeaconName','MAC']) + beacon_name_map = {row['MAC']: row['BeaconName'] for _, row in b_df.iterrows()} + + options = [f"Beacon: {n} | {m}" for n, m in zip(b_df['BeaconName'], b_df['MAC'])] + if Path(GROUPS_FILE).exists(): + g_df = pd.read_csv(Path(GROUPS_FILE), sep=CSV_DELIM) + options += [f"Gruppo: {n}" for n in g_df['BeaconGroupName']] + + sel_target = st.selectbox("Seleziona Target:", options, key="sel_target_v24") + + if st.button("🚀 REGISTRA JOB", use_container_width=True, type="primary"): + sub_dir = "jobs" if job_mode == "Addestramento" else "testjobs" + current_pending = Path(f"/data/train/{sub_dir}/pending") + current_pending.mkdir(parents=True, exist_ok=True) + + job_rows = [] + if sel_target.startswith("Gruppo: "): + g_name = sel_target.replace("Gruppo: ", "") + g_df = pd.read_csv(Path(GROUPS_FILE), sep=CSV_DELIM) + macs_str = g_df[g_df['BeaconGroupName'] == g_name]['GroupMAC'].iloc[0] + mac_list = [m.strip() for m in macs_str.split(',')] + job_filename = f"{g_name}_{floor_id}_{sx}_{sy}.csv" + for m in mac_list: + b_name = beacon_name_map.get(m, g_name) + pos_id = f"{b_name}_{floor_id}_{sx}_{sy}" + job_rows.append({"Position": pos_id, "Floor": floor_id, "RoomName": b_name, "X": sx, "Y": sy, "Z": floor_id, "BeaconName": b_name, "MAC": m}) + else: + b_info = sel_target.replace("Beacon: ", "").split(" | ") + b_name, b_mac = b_info[0], b_info[1] + job_filename = f"{b_name}_{floor_id}_{sx}_{sy}.csv" + pos_id = f"{b_name}_{floor_id}_{sx}_{sy}" + job_rows.append({"Position": pos_id, "Floor": floor_id, "RoomName": b_name, "X": sx, "Y": sy, "Z": floor_id, "BeaconName": b_name, "MAC": b_mac}) + + header = ["Position", "Floor", "RoomName", "X", "Y", "Z", "BeaconName", "MAC"] + pd.DataFrame(job_rows)[header].to_csv(current_pending / job_filename, sep=CSV_DELIM, index=False) + st.success(f"Job registrato!") + time.sleep(0.5) + st.rerun() + + # Pulizia errori nel menu laterale + err_files = list(ERROR_DIR.glob("*.csv")) + list(TEST_ERROR_DIR.glob("*.csv")) + if err_files and st.sidebar.button(f"🗑️ PULISCI ERRORI ({len(err_files)})"): + for f in err_files: os.remove(f) + st.rerun() diff --git a/app/normalize.py b/app/normalize.py index c6e5b73..916379a 100644 --- a/app/normalize.py +++ b/app/normalize.py @@ -1,46 +1,24 @@ -"""normalize.py - -Helper per normalizzare i MAC address in due formati: - -- compact: 12 hex uppercase senza separatori (es: AC233FC1DD3C) -- colon: 6 byte separati da ":" (es: AC:23:3F:C1:DD:3C) - -Nota: nel progetto usiamo **compact** come chiave interna per fare matching tra: -- gateway.csv (spesso con i ":") -- topic MQTT (publish_out/ in genere senza ":") -- payload JSON (mac beacon/gateway spesso senza ":") - -Il formato colon rimane utile solo per *rendering* (es: header CSV). -""" - -from __future__ import annotations - import re -_HEX_ONLY = re.compile(r"[^0-9A-Fa-f]") - - -def mac_to_compact(mac: object) -> str: - """Ritorna 12 hex uppercase senza separatori.""" - if mac is None: +def norm_mac(mac: str) -> str: + """Ritorna MAC come AA:BB:CC:DD:EE:FF (upper), ignorando separatori.""" + if not mac: return "" - s = _HEX_ONLY.sub("", str(mac)).upper() - if len(s) == 12: - return s - if len(s) > 12: - # se arriva qualcosa di più lungo (es. UUID), prendiamo gli ultimi 12 - return s[-12:] - return s - - -def compact_to_colon(mac12: object) -> str: - """Converte 'AC233FC1DD3C' -> 'AC:23:3F:C1:DD:3C'.""" - s = mac_to_compact(mac12) - if len(s) != 12: - return s - return ":".join(s[i : i + 2] for i in range(0, 12, 2)) - - -def norm_mac(mac: object) -> str: - """Alias storico: ritorna il formato con ':'.""" - return compact_to_colon(mac) + m = str(mac).strip().replace("-", "").replace(":", "").replace(".", "") + m = m.upper() + if len(m) != 12: + return mac.strip().upper() + return ":".join(m[i:i+2] for i in range(0, 12, 2)) + +def is_mac(mac: str) -> bool: + """Verifica se la stringa è un MAC valido.""" + if not mac: return False + m = str(mac).strip().replace("-", "").replace(":", "").replace(".", "") + return len(m) == 12 and all(c in "0123456789ABCDEFabcdef" for c in m) + +# Alias per compatibilità con gli altri script (gateways.py e train_collect.py) +normalize_mac = norm_mac + +def mac_to_compact(mac: str) -> str: + """Ritorna MAC senza separatori (es: AC233FC1DD3C).""" + return norm_mac(mac).replace(":", "").upper() diff --git a/app/settings.py b/app/settings.py index ce77a7a..517c734 100644 --- a/app/settings.py +++ b/app/settings.py @@ -16,7 +16,7 @@ def deep_merge(a: dict, b: dict) -> dict: return out def load_settings() -> dict: - cfg_path = os.getenv("CONFIG_FILE", "/app/config/config.yaml") + cfg_path = os.getenv("CONFIG_FILE", "/config/config.yaml") settings = _read_yaml(cfg_path) secrets_path = os.getenv("SECRETS_FILE", "") diff --git a/app/train_collect.py b/app/train_collect.py index 80a668b..e067045 100644 --- a/app/train_collect.py +++ b/app/train_collect.py @@ -1,349 +1,147 @@ -"""train_collect.py - -Modalità COLLECT_TRAIN: -- attende che tutti i gateway del feature-set (gateway.csv) siano online (traffic MQTT) -- prende job CSV da jobs_dir/pending/*.csv -- per ogni job: apre una finestra di raccolta di window_seconds, aggrega RSSI per GW -- scrive sample CSV in samples_dir - -Bugfix fondamentale (per i tuoi NAN): -- matching interno su MAC in formato **compact** (12 hex senza ':'). -""" - -from __future__ import annotations - import os import time import shutil -import glob -import math -import datetime -from dataclasses import dataclass -from typing import Dict, List, Optional, Tuple - +import ssl +from pathlib import Path +from typing import Dict, Any, List import pandas as pd +import paho.mqtt.client as mqtt -from .normalize import mac_to_compact, compact_to_colon -from .mqtt_client import MqttSubscriber +from .normalize import norm_mac, mac_to_compact from .mqtt_parser import parse_publish_out -from .fingerprint import FingerprintWindow +from .fingerprint import FingerprintWindow from .logger_utils import log_msg as log - - -def _ensure_dir(path: str) -> None: - os.makedirs(path, exist_ok=True) - - -def _read_delimited_csv(path: str, prefer_delim: str = ";") -> pd.DataFrame: - for sep in [prefer_delim, ",", "\t"]: - try: - df = pd.read_csv(path, sep=sep, dtype=str, keep_default_na=False) - if len(df.columns) >= 1: - return df - except Exception: - continue - return pd.read_csv(path, dtype=str, keep_default_na=False) - - -def load_gateway_csv(path: str, delimiter: str = ";") -> Tuple[List[str], List[str]]: - df = _read_delimited_csv(path, prefer_delim=delimiter) - if df.empty: - return [], [] - - mac_col = None - for c in df.columns: - if c.strip().lower() == "mac": - mac_col = c - break - if mac_col is None: - mac_col = df.columns[0] - - headers: List[str] = [] - keys: List[str] = [] - seen = set() - invalid = 0 - dup = 0 - - for raw in df[mac_col].tolist(): - k = mac_to_compact(raw) - if len(k) != 12: - invalid += 1 - continue - if k in seen: - dup += 1 - continue - seen.add(k) - keys.append(k) - headers.append(compact_to_colon(k)) - - log(f"[gateway.csv] loaded gateways={len(keys)} invalid={invalid} duplicates={dup}") - return headers, keys - - -@dataclass -class TrainTarget: - mac: str # compact - x: float - y: float - z: float - - -def read_job_csv(job_path: str, delimiter: str = ";") -> List[TrainTarget]: - df = _read_delimited_csv(job_path, prefer_delim=delimiter) - if df.empty: - return [] - - cols = {c.strip().lower(): c for c in df.columns} - - def col(name: str) -> Optional[str]: - return cols.get(name) - - mac_c = col("mac") - x_c = col("x") - y_c = col("y") - z_c = col("z") - if not mac_c: - raise ValueError(f"Job CSV senza colonna 'mac': {job_path}") - - out: List[TrainTarget] = [] - for _, row in df.iterrows(): - m = mac_to_compact(row[mac_c]) - if len(m) != 12: - continue - x = float(row[x_c]) if x_c else 0.0 - y = float(row[y_c]) if y_c else 0.0 - z = float(row[z_c]) if z_c else 0.0 - out.append(TrainTarget(mac=m, x=x, y=y, z=z)) - return out - - -def _pick_collect_cfg(settings: Dict) -> Dict: - if "collect_train" in settings and isinstance(settings["collect_train"], dict): - return settings["collect_train"] - if "training" in settings and isinstance(settings["training"], dict): - log("WARNING: config usa 'training:' (alias). Consiglio: rinomina in 'collect_train:'") - return settings["training"] - return {} - - -def run_collect_train(settings: Dict) -> None: - ct = _pick_collect_cfg(settings) - paths = settings.get("paths", {}) or {} - mqtt_cfg = settings.get("mqtt", {}) or {} - dbg = settings.get("debug", {}) or {} - - jobs_dir = str(ct.get("jobs_dir", "/data/train/jobs")) - samples_dir = str(ct.get("samples_dir", "/data/train/samples")) - job_glob = str(ct.get("job_glob", "*.csv")) - poll_seconds = float(ct.get("poll_seconds", ct.get("poll_pending_seconds", 2))) - window_seconds = float(ct.get("window_seconds", 10)) - min_non_nan = int(ct.get("min_non_nan", 3)) - - aggregate = str(ct.get("aggregate", "median")).lower() - rssi_min = float(ct.get("rssi_min", -110)) - rssi_max = float(ct.get("rssi_max", -25)) - outlier_method = str(ct.get("outlier_method", "none")).lower() - mad_z = float(ct.get("mad_z", 3.5)) - min_samples_per_gateway = int(ct.get("min_samples_per_gateway", 1)) - max_stddev = ct.get("max_stddev", None) - max_stddev = float(max_stddev) if max_stddev is not None else None - - gateway_ready_max_age_seconds = float(ct.get("gateway_ready_max_age_seconds", 30)) - gw_ready_log_seconds = float(ct.get("gw_ready_log_seconds", 10)) - gw_ready_sleep_seconds = float(ct.get("gw_ready_sleep_seconds", 5)) - gw_ready_check_before_job = bool(ct.get("gw_ready_check_before_job", True)) - - csv_delim = str(paths.get("csv_delimiter", ";")) - gateway_csv = str(paths.get("gateways_csv", "/data/config/gateway.csv")) - - # Debug opzionale durante finestra - log_progress = bool(dbg.get("collect_train_log_samples", False)) - log_first_seen = bool(dbg.get("collect_train_log_first_seen", False)) - log_every_s = float(dbg.get("collect_train_log_every_seconds", 15)) - - pending_dir = os.path.join(jobs_dir, "pending") - done_dir = os.path.join(jobs_dir, "done") - error_dir = os.path.join(jobs_dir, "error") - - _ensure_dir(pending_dir) - _ensure_dir(done_dir) - _ensure_dir(error_dir) - _ensure_dir(samples_dir) - - gateway_headers, gateway_keys = load_gateway_csv(gateway_csv, delimiter=csv_delim) - if not gateway_keys: - log("ERROR: Nessun gateway valido nel gateway.csv -> non posso partire.") +from .gateways import load_gateway_csv +from .beacons import read_job_csv, write_samples_csv, _coord_token + +def extract_campaign_id(beacon_name: str) -> str: + """Estrae la campagna dal nome beacon (es. BC-00-41 -> 00).""" + if not beacon_name: return "default" + parts = str(beacon_name).split('-') + if len(parts) >= 2: + return parts[1] + return "default" + +def run_collect_train(settings: Dict[str, Any]) -> None: + cfg = settings.get("collect_train", {}) + paths = settings.get("paths", {}) + mqtt_cfg = settings.get("mqtt", {}) + + modes = [ + {"pending": Path("/data/train/jobs/pending"), "done": Path("/data/train/jobs/done"), "samples": Path("/data/train/samples"), "label": "TRAIN"}, + {"pending": Path("/data/train/testjobs/pending"), "done": Path("/data/train/testjobs/done"), "samples": Path("/data/train/testsamples"), "label": "TEST"} + ] + for m in modes: + for d in [m["pending"], m["done"], m["samples"]]: d.mkdir(parents=True, exist_ok=True) + + gateway_csv_path = paths.get("gateways_csv", "/data/config/gateway.csv") + csv_delim = paths.get("csv_delimiter", ";") + + try: + gw_df = pd.read_csv(gateway_csv_path, sep=csv_delim) + gw_df.columns = [c.strip().lower() for c in gw_df.columns] + gateway_headers = gw_df['mac'].tolist() + gateway_compacts = [mac_to_compact(m) for m in gateway_headers] + total_gw = len(gateway_headers) + except Exception as e: + log(f"ERRORE caricamento gateway: {e}") return - mqtt_host = str(mqtt_cfg.get("host", "mosquitto")) - mqtt_port = int(mqtt_cfg.get("port", 1883)) - mqtt_topic = str(mqtt_cfg.get("topic", "publish_out/#")) - mqtt_proto = str(mqtt_cfg.get("protocol", "mqttv311")).lower() - client_id = str(mqtt_cfg.get("client_id", "ble-ai-localizer")) - keepalive = int(mqtt_cfg.get("keepalive", 60)) - qos = int(mqtt_cfg.get("qos", 0)) - username = str(mqtt_cfg.get("username", "")) - password = str(mqtt_cfg.get("password", "")) - - last_seen: Dict[str, float] = {} - active_window: Optional[FingerprintWindow] = None - active_logged_pairs: set = set() - - def on_mqtt_message(topic: str, payload: bytes) -> None: - nonlocal active_window, active_logged_pairs - events = parse_publish_out(topic, payload) - now = time.time() - for gw_key, b_key, rssi, _ts in events: - if len(gw_key) == 12: - last_seen[gw_key] = now - - if active_window is None: - continue - - accepted = active_window.add(gw_key, b_key, rssi) - if accepted and log_first_seen: - pair = (b_key, gw_key) - if pair not in active_logged_pairs: - active_logged_pairs.add(pair) - log(f"SEEN target beacon={b_key} gw={compact_to_colon(gw_key)} rssi={rssi:.1f}") - - sub = MqttSubscriber( - host=mqtt_host, - port=mqtt_port, - topic=mqtt_topic, - mqtt_proto=mqtt_proto, - client_id=client_id, - keepalive=keepalive, - qos=qos, - username=username if username else None, - password=password if password else None, - ) - - import threading - t = threading.Thread(target=sub.start_forever, args=(on_mqtt_message,), daemon=True) - t.start() - - log("MQTT thread started (collect_train)") - log( - f"COLLECT_TRAIN config: gateway_csv={gateway_csv} gateways(feature-set)={len(gateway_keys)} " - f"window_seconds={window_seconds:.1f} poll_seconds={poll_seconds:.1f} " - f"jobs_dir={jobs_dir} pending_dir={pending_dir} done_dir={done_dir} error_dir={error_dir} " - f"samples_dir={samples_dir} mqtt={mqtt_host}:{mqtt_port} topic={mqtt_topic}" - ) - - def gateways_online() -> Tuple[int, List[str]]: - now = time.time() - missing: List[str] = [] - for gk, hdr in zip(gateway_keys, gateway_headers): - last = last_seen.get(gk) - if last is None or (now - last) > gateway_ready_max_age_seconds: - missing.append(hdr) - return len(missing), missing - - def wait_for_gateways() -> None: - last_log = 0.0 - while True: - miss_n, missing = gateways_online() - if miss_n == 0: - log(f"GW READY: online={len(gateway_keys)}/{len(gateway_keys)} (max_age_s={gateway_ready_max_age_seconds:.1f})") - return - now = time.time() - if now - last_log >= gw_ready_log_seconds: - last_log = now - log( - f"WAIT gateways online ({miss_n} missing, seen={len(gateway_keys)-miss_n}/{len(gateway_keys)}): {missing} " - f"(max_age_s={gateway_ready_max_age_seconds:.1f})" - ) - time.sleep(gw_ready_sleep_seconds) + # --- LOGICA GATEWAY ONLINE --- + online_tracker = {mac_to_compact(m): {"original": m, "online": False} for m in gateway_headers} + def on_check_message(client, userdata, msg): + events = parse_publish_out(msg.topic, msg.payload) + for gw_c, _, _, _ in events: + if gw_c in online_tracker and not online_tracker[gw_c]["online"]: + online_tracker[gw_c]["online"] = True + curr = sum(1 for v in online_tracker.values() if v["online"]) + log(f" [{curr}/{total_gw}] ONLINE: {online_tracker[gw_c]['original']}") + + check_client = mqtt.Client(protocol=mqtt.MQTTv311) + if mqtt_cfg.get("username"): check_client.username_pw_set(mqtt_cfg["username"], mqtt_cfg.get("password")) + check_client.on_message = on_check_message + check_client.connect(mqtt_cfg.get("host", "localhost"), mqtt_cfg.get("port", 1883)) + check_client.subscribe(mqtt_cfg.get("topic", "publish_out/#")) + check_client.loop_start() + while not all(v["online"] for v in online_tracker.values()): time.sleep(1) + check_client.loop_stop() + + log("Collector pronto. Monitoraggio directory Job...") while True: - jobs = sorted(glob.glob(os.path.join(pending_dir, job_glob))) - if not jobs: - time.sleep(poll_seconds) - continue - - for job_path in jobs: - job_name = os.path.basename(job_path) - try: - if gw_ready_check_before_job: - wait_for_gateways() - - targets = read_job_csv(job_path, delimiter=csv_delim) - if not targets: - raise RuntimeError("job CSV vuoto o senza MAC validi") - - beacon_keys = [t.mac for t in targets] - log(f"TRAIN job START: {job_name} beacons={len(beacon_keys)}") - - active_logged_pairs = set() - active_window = FingerprintWindow( - beacon_keys=beacon_keys, - gateway_headers=gateway_headers, - gateway_keys=gateway_keys, - rssi_min=rssi_min, - rssi_max=rssi_max, - outlier_method=outlier_method, - mad_z=mad_z, - min_samples_per_gateway=min_samples_per_gateway, - max_stddev=max_stddev, - ) - - t0 = time.time() - next_log = t0 + log_every_s - - while True: - elapsed = time.time() - t0 - if elapsed >= window_seconds: - break - if log_progress and time.time() >= next_log: - next_log = time.time() + log_every_s - parts = [] - for b in beacon_keys: - tops = active_window.top_gateways(b, aggregate=aggregate, top_n=3) - if not tops: - parts.append(f"{b}:0gw") - else: - top_s = ",".join([f"{hdr}({n})" for n, hdr, _agg in tops]) - parts.append(f"{b}:{top_s}") - log(f"WINDOW progress {elapsed:.0f}/{window_seconds:.0f}s -> " + " | ".join(parts)) - time.sleep(0.25) - - rows: List[Dict[str, object]] = [] - for tt in targets: - feats = active_window.features_for(tt.mac, aggregate=aggregate) - non_nan = sum(0 if (isinstance(v, float) and math.isnan(v)) else 1 for v in feats.values()) - if non_nan < min_non_nan: - log(f"WARNING: beacon {tt.mac} low features non_nan={non_nan}") - - tops = active_window.top_gateways(tt.mac, aggregate=aggregate, top_n=5) - if tops: - top_s = ", ".join([f"{hdr} n={n} agg={agg:.1f}" for n, hdr, agg in tops]) - log(f"SUMMARY beacon {tt.mac}: {top_s}") - else: - log(f"SUMMARY beacon {tt.mac}: no samples captured") - - row: Dict[str, object] = {"mac": tt.mac, "x": float(tt.x), "y": float(tt.y), "z": float(tt.z)} - row.update(feats) - rows.append(row) - - out_df = pd.DataFrame(rows) - cols = ["mac", "x", "y", "z"] + gateway_headers - out_df = out_df.reindex(columns=cols) - - epoch = int(time.time()) - out_name = f"{os.path.splitext(job_name)[0]}__{epoch}.csv" - out_path = os.path.join(samples_dir, out_name) - out_df.to_csv(out_path, sep=csv_delim, index=False, float_format="%.1f", na_rep="nan") - - log(f"TRAIN job DONE: wrote {out_path} rows={len(out_df)}") - - shutil.move(job_path, os.path.join(done_dir, job_name)) + job_found = False + for m in modes: + job_files = sorted(m["pending"].glob("*.csv")) + if not job_files: continue + + job_found = True + job_path = job_files[0] + log(f"[{m['label']}] Elaborazione: {job_path.name}") + + job_rows = read_job_csv(job_path, delimiter=csv_delim) + if not job_rows: + job_path.rename(Path("/data/train/jobs/error") / job_path.name) + continue - except Exception as e: - log(f"ERROR processing job {job_name}: {e}") - try: - shutil.move(job_path, os.path.join(error_dir, job_name)) - except Exception: - pass - finally: - active_window = None + job_beacon_keys = [mac_to_compact(r["mac"]) for r in job_rows] + + active_window = FingerprintWindow( + beacon_keys=job_beacon_keys, + gateway_keys=gateway_compacts, + gateway_headers=gateway_headers, + rssi_min=float(cfg.get("rssi_min", -110)), + rssi_max=float(cfg.get("rssi_max", -25)), + outlier_method=cfg.get("outlier_method", "mad"), + min_samples_per_gateway=int(cfg.get("min_samples_per_gateway", 5)) + ) + + mqtt_timestamps = [] + def on_job_message(c, u, msg): + events = parse_publish_out(msg.topic, msg.payload) + for gw_c, b_c, rssi, ts in events: + if b_c in job_beacon_keys: + active_window.add(gw_c, b_c, rssi) + if ts: mqtt_timestamps.append(ts) + + client = mqtt.Client(protocol=mqtt.MQTTv311) + if mqtt_cfg.get("username"): client.username_pw_set(mqtt_cfg["username"], mqtt_cfg.get("password")) + client.on_message = on_job_message + client.connect(mqtt_cfg.get("host", "localhost"), mqtt_cfg.get("port", 1883)) + client.subscribe(mqtt_cfg.get("topic", "publish_out/#")) + client.loop_start() + time.sleep(int(cfg.get("window_seconds", 30))) + client.loop_stop() + client.disconnect() + + ts_start = min(mqtt_timestamps) if mqtt_timestamps else 0 + ts_end = max(mqtt_timestamps) if mqtt_timestamps else 0 + + valid_count = 0 + for r in job_rows: + b_mac = r["mac"] + b_compact = mac_to_compact(b_mac) + b_name = r.get("beaconname", b_compact) + + campaign = extract_campaign_id(b_name) + feats = active_window.features_for(b_compact, aggregate=cfg.get("aggregate", "median")) + + if sum(1 for v in feats.values() if v == v and v is not None) >= int(cfg.get("min_non_nan", 3)): + out_row = { + "mac": b_mac, "x": r["x"], "y": r["y"], "z": r["z"], + "ts_start": ts_start, "ts_end": ts_end + } + out_row.update(feats) + + zt, xt, yt = _coord_token(r["z"]), _coord_token(r["x"]), _coord_token(r["y"]) + + # NUOVA NOMENCLATURA: $CAMPAGNA_$Z_$X_$Y.csv + out_filename = f"{campaign}_{zt}_{xt}_{yt}.csv" + + write_samples_csv(m["samples"] / out_filename, [out_row], gateway_headers, delimiter=csv_delim, rssi_decimals=int(cfg.get("rssi_decimals", 0))) + valid_count += 1 + + shutil.move(str(job_path), str(m["done"] / job_path.name)) + log(f" Job completato. Campioni: {valid_count} (MQTT TS: {ts_start}-{ts_end})") + break + + if not job_found: time.sleep(2) diff --git a/app/train_executor.py b/app/train_executor.py new file mode 100644 index 0000000..e454e8a --- /dev/null +++ b/app/train_executor.py @@ -0,0 +1,112 @@ +import os +import json +import time +import joblib +import pandas as pd +import numpy as np +from pathlib import Path +from datetime import datetime +from sklearn.neighbors import KNeighborsClassifier, KNeighborsRegressor + +# Import delle utility esistenti +from .logger_utils import log_msg as log +from .csv_config import load_gateway_features_csv + +def process_train_jobs(): + """Monitora ed esegue i job di addestramento salvando backup cronologici.""" + JOBS_DIR = Path("/data/train/train_jobs") + JOBS_DIR.mkdir(parents=True, exist_ok=True) + + job_files = list(JOBS_DIR.glob("*.lock")) + if not job_files: + return + + for job_path in job_files: + try: + log(f"[TRAIN-CORE] Rilevato nuovo job: {job_path.name}") + + with open(job_path, "r") as f: + job = json.load(f) + + campagna = job["campaign"] + knn_cfg = job["knn"] + nan_fill = job["nan_fill"] + gw_csv = job["gateways_csv"] + + # --- GENERAZIONE NOME FILE CON TIMESTAMP (BACKUP) --- + now_str = datetime.now().strftime("%Y%m%d_%H%M%S") + model_filename = f"model_camp_{campagna}_{now_str}.joblib" + model_path = Path("/data/model") / model_filename + + # Caricamento Gateway + gws = load_gateway_features_csv(gw_csv) + gateways_order = [g.mac for g in gws] + + # Analisi file campioni + samples_dir = Path("/data/train/samples") + sample_files = list(samples_dir.glob(f"{campagna}_*.csv")) + + X_list, y_z, y_xy = [], [], [] + for fp in sample_files: + try: + df = pd.read_csv(fp, sep=";") + if df.empty: continue + row = df.iloc[0] + # Mapping RSSI basato su gateway.csv (risolve errore 'mac') + X_list.append([float(row.get(gw, nan_fill)) for gw in gateways_order]) + y_z.append(int(round(float(row.get("z"))))) + y_xy.append([float(row.get("x")), float(row.get("y"))]) + except: continue + + if not X_list: + log(f"[TRAIN-CORE] ERRORE: Dati non validi per campagna {campagna}") + job_path.unlink() + continue + + X, Y_z, Y_xy = np.array(X_list), np.array(y_z), np.array(y_xy) + + # Fitting KNN + log(f"[TRAIN-CORE] Fitting modello per {model_filename}...") + floor_clf = KNeighborsClassifier( + n_neighbors=int(knn_cfg.get('k', 5)), + weights=knn_cfg.get('weights', 'distance'), + metric=knn_cfg.get('metric', 'euclidean') + ).fit(X, Y_z) + + models_xy = {} + for z in np.unique(Y_z): + idx = np.where(Y_z == z)[0] + models_xy[int(z)] = KNeighborsRegressor( + n_neighbors=min(int(knn_cfg.get('k', 5)), len(idx)), + weights=knn_cfg.get('weights', 'distance'), + metric=knn_cfg.get('metric', 'euclidean') + ).fit(X[idx], Y_xy[idx]) + + # Salvataggio Pacchetto + model_pkg = { + "floor_clf": floor_clf, + "xy_by_floor": models_xy, + "gateways_order": gateways_order, + "nan_fill": nan_fill, + "created_at": datetime.now().isoformat(), + "campaign": campagna, + "filename": model_filename + } + + Path("/data/model").mkdir(parents=True, exist_ok=True) + joblib.dump(model_pkg, model_path) + + log(f"[TRAIN-CORE] ✅ Addestramento COMPLETATO: {model_filename}") + + except Exception as e: + log(f"[TRAIN-CORE] ❌ ERRORE CRITICO: {str(e)}") + + finally: + if job_path.exists(): + job_path.unlink() + +def run_train_monitor(): + """Loop di monitoraggio per il Core Orchestrator.""" + while True: + process_train_jobs() + time.sleep(5) diff --git a/app/train_mode.py b/app/train_mode.py index a22757e..ea87f44 100644 --- a/app/train_mode.py +++ b/app/train_mode.py @@ -1,419 +1,85 @@ # app/train_mode.py -# Training mode: build hierarchical KNN model (floor classifier + per-floor X/Y regressors) -# Adds verbose dataset statistics useful for large training runs. - -from __future__ import annotations - -import glob import os +import glob import time import math -from dataclasses import dataclass -from typing import Any, Callable, Dict, List, Optional, Tuple - import joblib -from datetime import datetime import numpy as np import pandas as pd +from datetime import datetime from sklearn.neighbors import KNeighborsClassifier, KNeighborsRegressor -import sklearn - -# NOTE: these are already present in the project -from .csv_config import load_gateway_features_csv -from .logger_utils import log_msg as log - - -@dataclass -class GatewayStats: - mac: str - total_samples: int = 0 # total rows processed (per sample point) - non_missing: int = 0 # non-missing rssi count - missing: int = 0 # missing (nan) count - sum_: float = 0.0 - sumsq: float = 0.0 - min_: float = float("inf") - max_: float = float("-inf") - - def add(self, v: float, is_missing: bool) -> None: - self.total_samples += 1 - if is_missing: - self.missing += 1 - return - self.non_missing += 1 - self.sum_ += v - self.sumsq += v * v - if v < self.min_: - self.min_ = v - if v > self.max_: - self.max_ = v - - def mean(self) -> float: - return self.sum_ / self.non_missing if self.non_missing else float("nan") - - def std(self) -> float: - if self.non_missing <= 1: - return float("nan") - mu = self.mean() - var = max(0.0, (self.sumsq / self.non_missing) - (mu * mu)) - return math.sqrt(var) - - def missing_pct(self) -> float: - return (self.missing / self.total_samples) * 100.0 if self.total_samples else 0.0 - - -def _get(d: Dict[str, Any], key: str, default: Any = None) -> Any: - return d.get(key, default) if isinstance(d, dict) else default - - -def _as_bool(v: Any, default: bool = False) -> bool: - if v is None: - return default - if isinstance(v, bool): - return v - if isinstance(v, (int, float)): - return bool(v) - s = str(v).strip().lower() - return s in ("1", "true", "yes", "y", "on") - - -def _safe_float(v: Any) -> Optional[float]: - try: - if v is None: - return None - if isinstance(v, float) and math.isnan(v): - return None - return float(v) - except Exception: - return None +# Import assoluti garantiti +from csv_config import load_gateway_features_csv +from logger_utils import log_msg as log -def _collect_dataset( - sample_files: List[str], - gateways_order: List[str], - nan_fill: float, - log: Callable[[str], None], - verbose: bool, -) -> Tuple[np.ndarray, np.ndarray, np.ndarray, np.ndarray, Dict[str, GatewayStats], Dict[str, Any]]: +def run_train(settings, log_fn=None, target_files=None): """ - Build dataset from per-point sample csv files. - - Each sample file is expected to contain: - header: mac;x;y;z;;... - 1 row: beacon_mac; x; y; z; rssi_gw1; rssi_gw2; ... - - Returns: - X (N, G), y_floor (N,), y_xy (N,2), meta_xy (N,2), - gw_stats, global_stats + Esegue l'addestramento Hierarchical KNN su un set di file specifico (Campagna). """ - X_rows: List[List[float]] = [] - y_floor: List[int] = [] - y_xy: List[List[float]] = [] - meta_xy: List[List[float]] = [] - - gw_stats: Dict[str, GatewayStats] = {gw: GatewayStats(mac=gw) for gw in gateways_order} - - floors_counter: Dict[int, int] = {} - bad_files: int = 0 - missing_cols_files: int = 0 - - expected_cols: Optional[List[str]] = None - - for fp in sample_files: - try: - df = pd.read_csv(fp, sep=";", dtype=str) - except Exception as e: - bad_files += 1 - if verbose: - log(f"TRAIN WARN: cannot read sample file {fp}: {type(e).__name__}: {e}") - continue - - if df.shape[0] < 1: - bad_files += 1 - if verbose: - log(f"TRAIN WARN: empty sample file {fp}") - continue - - row = df.iloc[0].to_dict() - - if verbose: - cols = list(df.columns) - if expected_cols is None: - expected_cols = cols - elif cols != expected_cols: - missing_cols_files += 1 - if missing_cols_files <= 5: - log(f"TRAIN WARN: columns mismatch in {os.path.basename(fp)} (expected {len(expected_cols)} cols, got {len(cols)})") - - x = _safe_float(row.get("x")) - y = _safe_float(row.get("y")) - z = _safe_float(row.get("z")) - if x is None or y is None or z is None: - bad_files += 1 - if verbose: - log(f"TRAIN WARN: missing x/y/z in {fp}") - continue - - z_i = int(round(z)) - floors_counter[z_i] = floors_counter.get(z_i, 0) + 1 - - feats: List[float] = [] - for gw in gateways_order: - v = row.get(gw) - fv = _safe_float(v) - if fv is None: - feats.append(nan_fill) - gw_stats[gw].add(nan_fill, is_missing=True) - else: - feats.append(fv) - gw_stats[gw].add(fv, is_missing=False) - - X_rows.append(feats) - y_floor.append(z_i) - y_xy.append([x, y]) - meta_xy.append([x, y]) - - if not X_rows: - raise RuntimeError("No valid samples found in samples_dir (dataset empty).") - - X = np.asarray(X_rows, dtype=np.float32) - y_floor_arr = np.asarray(y_floor, dtype=np.int32) - y_xy_arr = np.asarray(y_xy, dtype=np.float32) - meta_xy_arr = np.asarray(meta_xy, dtype=np.float32) - - global_stats: Dict[str, Any] = { - "samples_total_files": len(sample_files), - "samples_used": int(X.shape[0]), - "samples_bad": int(bad_files), - "floors_counts": dict(sorted(floors_counter.items(), key=lambda kv: kv[0])), - "missing_cols_files": int(missing_cols_files), - "gateways": int(len(gateways_order)), - "nan_fill": float(nan_fill), - } - - return X, y_floor_arr, y_xy_arr, meta_xy_arr, gw_stats, global_stats - - -def _log_train_stats( - log: Callable[[str], None], - X: np.ndarray, - y_floor: np.ndarray, - y_xy: np.ndarray, - gateways_order: List[str], - nan_fill: float, - gw_stats: Dict[str, GatewayStats], - global_stats: Dict[str, Any], - top_k: int = 8, -) -> None: - """Human-friendly statistics for training runs.""" - log( - "TRAIN stats: " - f"samples_used={global_stats.get('samples_used')} " - f"samples_bad={global_stats.get('samples_bad')} " - f"files_total={global_stats.get('samples_total_files')} " - f"gateways={len(gateways_order)} " - f"floors={list(global_stats.get('floors_counts', {}).keys())}" - ) - if global_stats.get("missing_cols_files", 0): - log(f"TRAIN stats: files_with_column_mismatch={global_stats['missing_cols_files']} (see earlier WARN lines)") - - xs = y_xy[:, 0] - ys = y_xy[:, 1] - log( - "TRAIN stats: XY range " - f"X[min,max]=[{float(np.min(xs)):.2f},{float(np.max(xs)):.2f}] " - f"Y[min,max]=[{float(np.min(ys)):.2f},{float(np.max(ys)):.2f}]" - ) - - miss = int((X == nan_fill).sum()) - total = int(X.size) - miss_pct = (miss / total) * 100.0 if total else 0.0 - log(f"TRAIN stats: feature sparsity missing={miss}/{total} ({miss_pct:.1f}%) using nan_fill={nan_fill}") - - gw_list = list(gw_stats.values()) - gw_list_sorted = sorted(gw_list, key=lambda s: (s.missing_pct(), -s.non_missing), reverse=True) - - worst = gw_list_sorted[: max(1, min(top_k, len(gw_list_sorted)))] - worst_str = " | ".join( - f"{g.mac}: miss={g.missing_pct():.1f}% (seen={g.non_missing}) mean={g.mean():.1f} std={g.std():.1f}" - for g in worst - ) - log(f"TRAIN stats: gateways with highest missing%: {worst_str}") - - best = list(reversed(gw_list_sorted))[: max(1, min(top_k, len(gw_list_sorted)))] - best_str = " | ".join( - f"{g.mac}: miss={g.missing_pct():.1f}% (seen={g.non_missing}) mean={g.mean():.1f} std={g.std():.1f}" - for g in best - ) - log(f"TRAIN stats: gateways with lowest missing%: {best_str}") - - floors = global_stats.get("floors_counts", {}) - if floors: - floor_str = ", ".join(f"z={k}:{v}" for k, v in floors.items()) - log(f"TRAIN stats: floor distribution: {floor_str}") - - -def run_train(settings: Dict[str, Any], log: Optional[Callable[[str], None]] = None) -> None: - """ - Train hierarchical KNN: - - KNeighborsClassifier for floor (Z) - - For each floor, a KNeighborsRegressor for (X,Y) as multioutput - - Model saved with joblib to paths.model (or train.model_path). - """ - if log is None: - def log(msg: str) -> None: - print(msg, flush=True) - - # Build stamp for this module (helps verifying which file is running) - try: - import hashlib - from pathlib import Path - _b = Path(__file__).read_bytes() - log(f"TRAIN_MODE build sha256={hashlib.sha256(_b).hexdigest()[:12]} size={len(_b)}") - except Exception: - pass - - train_cfg = _get(settings, "train", {}) - paths = _get(settings, "paths", {}) - debug = _get(settings, "debug", {}) - - samples_dir = _get(train_cfg, "samples_dir", _get(paths, "samples_dir", "/data/train/samples")) - gateways_csv = _get(train_cfg, "gateways_csv", _get(paths, "gateways_csv", "/data/config/gateway.csv")) - model_path = _get(train_cfg, "model_path", _get(paths, "model", "/data/model/model.joblib")) - - nan_fill = float(_get(train_cfg, "nan_fill", -110.0)) - - k_floor = int(_get(train_cfg, "k_floor", _get(_get(settings, "ml", {}), "k", 7))) - k_xy = int(_get(train_cfg, "k_xy", _get(_get(settings, "ml", {}), "k", 7))) - - weights = str(_get(train_cfg, "weights", _get(_get(settings, "ml", {}), "weights", "distance"))) - metric = str(_get(train_cfg, "metric", _get(_get(settings, "ml", {}), "metric", "euclidean"))) - - verbose = _as_bool(_get(debug, "train_verbose", True), True) - top_k = int(_get(debug, "train_stats_top_k", 8)) - - backup_existing_model = _as_bool(_get(train_cfg, "backup_existing_model", True), True) - - log( - "TRAIN config: " - f"samples_dir={samples_dir} " - f"gateways_csv={gateways_csv} " - f"model_path={model_path} " - f"nan_fill={nan_fill} " - f"k_floor={k_floor} k_xy={k_xy} " - f"weights={weights} metric={metric} " - f"train_verbose={verbose} backup_existing_model={backup_existing_model}" - ) - - # 1) Load gateways definition to know feature order - gws = load_gateway_features_csv(str(gateways_csv)) + if log_fn is None: + log_fn = log + + train_cfg = settings.get("train", {}) + knn_cfg = train_cfg.get("knn", {}) + + # Parametri da config.yaml + samples_dir = train_cfg.get("samples_dir", "/data/train/samples") + gateways_csv = train_cfg.get("gateways_csv", "/data/config/gateway.csv") + model_path = train_cfg.get("model_path", "/data/model/model.joblib") + nan_fill = float(train_cfg.get("nan_fill", -110.0)) + + k_val = int(knn_cfg.get("k", 5)) + weights = knn_cfg.get("weights", "distance") + metric = knn_cfg.get("metric", "euclidean") + + log_fn(f"TRAIN: Caricamento gateway da {gateways_csv}") + gws = load_gateway_features_csv(gateways_csv) gateways_order = [g.mac for g in gws] - if not gateways_order: - raise RuntimeError("No gateways found in gateways_csv (feature-set empty).") - - if verbose: - preview = ", ".join(gateways_order[: min(6, len(gateways_order))]) - log(f"TRAIN: gateways(feature-order)={len(gateways_order)} first=[{preview}{'...' if len(gateways_order) > 6 else ''}]") - - # 2) Collect sample files - sample_files = sorted(glob.glob(os.path.join(samples_dir, "*.csv"))) - if not sample_files: - raise RuntimeError(f"No sample files found in samples_dir={samples_dir}") - - X, y_floor, y_xy, meta_xy, gw_stats, global_stats = _collect_dataset( - sample_files=sample_files, - gateways_order=gateways_order, - nan_fill=nan_fill, - log=log, - verbose=verbose, - ) - if verbose: - _log_train_stats( - log=log, - X=X, - y_floor=y_floor, - y_xy=meta_xy, - gateways_order=gateways_order, - nan_fill=nan_fill, - gw_stats=gw_stats, - global_stats=global_stats, - top_k=top_k, - ) + # Selezione file (Campagna specifica o globale) + files = target_files if target_files else glob.glob(os.path.join(samples_dir, "*.csv")) + if not files: + raise RuntimeError("Nessun file CSV trovato per l'addestramento.") - # 3) Fit floor classifier - floor_clf = KNeighborsClassifier( - n_neighbors=k_floor, - weights=weights, - metric=metric, - ) - floor_clf.fit(X, y_floor) - - # 4) Fit per-floor XY regressors (multioutput) - models_xy: Dict[int, Any] = {} - floors = sorted(set(int(z) for z in y_floor.tolist())) - for z in floors: - idx = np.where(y_floor == z)[0] - Xz = X[idx, :] - yz = y_xy[idx, :] # (N,2) - reg = KNeighborsRegressor( - n_neighbors=k_xy, - weights=weights, - metric=metric, - ) - reg.fit(Xz, yz) - models_xy[int(z)] = reg - - if verbose: - xs = yz[:, 0] - ys = yz[:, 1] - log( - f"TRAIN: floor z={z} samples={int(len(idx))} " - f"Xrange=[{float(np.min(xs)):.1f},{float(np.max(xs)):.1f}] " - f"Yrange=[{float(np.min(ys)):.1f},{float(np.max(ys)):.1f}]" - ) - - model = { - "type": "hier_knn_floor_xy", - "gateways_order": gateways_order, - "nan_fill": nan_fill, - "k_floor": k_floor, - "k_xy": k_xy, - "weights": weights, - "metric": metric, + # Costruzione dataset + X_list, y_z, y_xy = [], [], [] + for fp in files: + try: + df = pd.read_csv(fp, sep=";") + if df.empty: continue + row = df.iloc[0] + X_list.append([float(row.get(gw, nan_fill)) for gw in gateways_order]) + y_z.append(int(round(float(row.get("z"))))) + y_xy.append([float(row.get("x")), float(row.get("y"))]) + except: continue + + X, Y_z, Y_xy = np.array(X_list), np.array(y_z), np.array(y_xy) + + # Step 1: Classificatore Piano (Z) + log_fn(f"TRAIN: Fitting Piano Classifier (K={k_val})") + floor_clf = KNeighborsClassifier(n_neighbors=k_val, weights=weights, metric=metric).fit(X, Y_z) + + # Step 2: Regressori X,Y per ogni piano trovato + models_xy = {} + for z in np.unique(Y_z): + idx = np.where(Y_z == z)[0] + log_fn(f"TRAIN: Fitting XY Regressor piano {z} ({len(idx)} campioni)") + models_xy[int(z)] = KNeighborsRegressor( + n_neighbors=min(k_val, len(idx)), + weights=weights, + metric=metric + ).fit(X[idx], Y_xy[idx]) + + # Salvataggio + model_data = { "floor_clf": floor_clf, "xy_by_floor": models_xy, - "floors": floors, + "gateways_order": gateways_order, + "nan_fill": nan_fill, + "created_at": datetime.now().isoformat() } - + os.makedirs(os.path.dirname(model_path), exist_ok=True) - - # Backup previous model (così inferenza può continuare ad usare una versione nota) - backup_path = None - if backup_existing_model and os.path.exists(model_path): - root, ext = os.path.splitext(model_path) - ts = int(time.time()) - # evita collisioni se lanci due train nello stesso secondo - for bump in range(0, 1000): - cand = f"{root}_{ts + bump}{ext}" - if not os.path.exists(cand): - backup_path = cand - break - try: - if backup_path: - os.replace(model_path, backup_path) - log(f"TRAIN: previous model moved to {backup_path}") - except Exception as e: - log(f"TRAIN WARNING: cannot backup previous model {model_path}: {type(e).__name__}: {e}") - - # Metadata utile (tipo 'modinfo' minimale) - model["created_at_utc"] = datetime.utcnow().replace(microsecond=0).isoformat() + "Z" - model["sklearn_version"] = getattr(sklearn, "__version__", "unknown") - model["numpy_version"] = getattr(np, "__version__", "unknown") - - joblib.dump(model, model_path) - - log( - f"TRAIN DONE: model saved to {model_path} " - f"(samples={int(X.shape[0])}, gateways={len(gateways_order)}, floors={len(floors)})" - ) + joblib.dump(model_data, model_path) + log_fn(f"✅ TRAIN SUCCESS: Modello salvato in {model_path}") diff --git a/app/web_beacon.py b/app/web_beacon.py index 734c174..3f03232 100644 --- a/app/web_beacon.py +++ b/app/web_beacon.py @@ -1,88 +1,110 @@ import streamlit as st import pandas as pd import os +from pathlib import Path +# CORREZIONE: rimosso il punto per evitare ImportError +from normalize import norm_mac -def load_beacons(file_path, delimiter): - """Carica i beacon dal file CSV utilizzando il delimitatore configurato.""" - if not os.path.exists(file_path): - return pd.DataFrame(columns=["BeaconName", "MAC"]) - try: - return pd.read_csv(file_path, sep=delimiter) - except Exception: - return pd.DataFrame(columns=["BeaconName", "MAC"]) +def show_beacon_manager(cfg): + st.subheader("🏷️ Gestione Beacon e Gruppi") + + paths = cfg.get("paths", {}) + beacon_csv = paths.get("beacons_csv", "/data/config/beacons.csv") + group_csv = "/data/config/beacongroup.csv" + csv_delim = paths.get("csv_delimiter", ";") -def save_beacons(file_path, df, delimiter): - """Salva i beacon su CSV con il separatore corretto e crea le cartelle se necessario.""" - folder = os.path.dirname(file_path) - if folder and not os.path.exists(folder): - os.makedirs(folder, exist_ok=True) - df.to_csv(file_path, index=False, sep=delimiter) + # --- CARICAMENTO DATI --- + def load_df(path, cols): + if os.path.exists(path): + try: + df = pd.read_csv(path, sep=csv_delim) + df.columns = [c.strip() for c in df.columns] + return df + except: + return pd.DataFrame(columns=cols) + return pd.DataFrame(columns=cols) -def show_beacon_manager(config): - st.subheader("🏷️ Gestione Anagrafica Beacon") - - # Recupero parametri dalla gerarchia paths del config.yaml - paths_cfg = config.get("paths", {}) - beacons_file = paths_cfg.get("beacons_csv", "/data/config/beacons.csv") - delimiter = paths_cfg.get("csv_delimiter", ";") - - # Caricamento dati - df = load_beacons(beacons_file, delimiter) + df_beacons = load_df(beacon_csv, ["BeaconName", "MAC"]) + df_groups = load_df(group_csv, ["BeaconGroupName", "GroupMAC"]) - # --- SEZIONE AGGIUNTA --- - with st.expander("➕ Aggiungi Nuovo Beacon", expanded=len(df) == 0): - col1, col2 = st.columns(2) - with col1: - name = st.text_input("Nome Beacon (es. BC-21)") - with col2: - mac = st.text_input("Indirizzo MAC (es. C3:00:00:57:B9:E6)") - - if st.button("REGISTRA BEACON"): - if name and mac: - mac = mac.strip().upper() - if mac in df['MAC'].values: - st.error("Errore: Questo MAC è già presente in lista.") - else: - new_line = pd.DataFrame([{"BeaconName": name, "MAC": mac}]) - df = pd.concat([df, new_line], ignore_index=True) - save_beacons(beacons_file, df, delimiter) - st.success(f"Beacon {name} registrato correttamente!") - st.rerun() - else: - st.warning("Inserisci sia il Nome che il MAC address.") + # --- UI: TABS INTERNI --- + sub_tab1, sub_tab2 = st.tabs(["Individuali", "Gruppi"]) - # --- SEZIONE VISUALIZZAZIONE E MODIFICA --- - if not df.empty: - st.markdown("---") - st.write("### Lista Beacon") - st.info("💡 Puoi modificare i nomi o i MAC direttamente cliccando nelle celle della tabella e poi cliccare su SALVA.") - - # Editor interattivo per modifiche "al volo" - edited_df = st.data_editor( - df, + with sub_tab1: + st.markdown("### 📋 Anagrafica Beacon Singoli") + # Editor interattivo per i beacon + edited_beacons = st.data_editor( + df_beacons, + num_rows="dynamic", use_container_width=True, - hide_index=True, - column_config={ - "BeaconName": st.column_config.TextColumn("Nome Beacon", help="Nome identificativo", required=True), - "MAC": st.column_config.TextColumn("Indirizzo MAC", help="Formato AA:BB:CC...", required=True) - } + key="editor_beacons", + hide_index=True ) - # Controllo se ci sono state modifiche - if not edited_df.equals(df): - if st.button("💾 SALVA MODIFICHE TABELLA"): - save_beacons(beacons_file, edited_df, delimiter) - st.success("Anagrafica aggiornata!") + if st.button("💾 Salva Beacon Individuali"): + # Applichiamo la normalizzazione ai MAC inseriti + try: + edited_beacons['MAC'] = edited_beacons['MAC'].apply(norm_mac) + edited_beacons.to_csv(beacon_csv, index=False, sep=csv_delim) + st.success("Anagrafica Beacon salvata correttamente!") st.rerun() + except Exception as e: + st.error(f"Errore durante il salvataggio: {e}") + + with sub_tab2: + st.markdown("### 🏗️ Creazione e Gestione Gruppi") + + # Mostra i gruppi esistenti se il file esiste + if not df_groups.empty: + st.write("#### Gruppi Attivi") + st.dataframe(df_groups, use_container_width=True, hide_index=True) + else: + st.info("Nessun gruppo configurato.") + + st.divider() + st.write("#### Aggiungi o Modifica un Gruppo") + + # Form per la gestione dei gruppi + with st.form("form_gruppo"): + gn = st.text_input("Nome Gruppo", help="Esempio: 4dBm_Power, Gruppo_A, ecc.") + + # Recuperiamo i beacon disponibili per popolare la selezione + available_macs = df_beacons["MAC"].tolist() + available_names = df_beacons["BeaconName"].tolist() + options = [f"{name} ({mac})" for name, mac in zip(available_names, available_macs)] + + selected_options = st.multiselect("Seleziona i Beacon da includere:", options) + + submit = st.form_submit_button("💾 Salva Gruppo") + + if submit: + if not gn: + st.error("Inserisci un nome per il gruppo.") + elif not selected_options: + st.error("Seleziona almeno un beacon.") + else: + # Estraiamo i MAC eliminando la parte del nome + selected_macs = [opt.split("(")[-1].replace(")", "") for opt in selected_options] + mac_list_str = ",".join(selected_macs) + + # Aggiorna se esiste, altrimenti aggiungi + if gn in df_groups["BeaconGroupName"].values: + df_groups.loc[df_groups["BeaconGroupName"] == gn, "GroupMAC"] = mac_list_str + else: + new_row = pd.DataFrame([{"BeaconGroupName": gn, "GroupMAC": mac_list_str}]) + df_groups = pd.concat([df_groups, new_row], ignore_index=True) + + # Assicuriamoci che la cartella esista + os.makedirs(os.path.dirname(group_csv), exist_ok=True) + df_groups.to_csv(group_csv, index=False, sep=csv_delim) + st.success(f"Gruppo '{gn}' creato/aggiornato con successo!") + st.rerun() + + if not df_groups.empty: + if st.button("🗑️ Elimina tutti i Gruppi"): + if os.path.exists(group_csv): + os.remove(group_csv) + st.warning("Configurazione gruppi rimossa.") + st.rerun() - # --- SEZIONE ELIMINAZIONE --- - st.markdown("---") - st.subheader("Elimina Beacon") - to_del = st.selectbox("Seleziona il beacon da rimuovere:", df['BeaconName'].tolist()) - if st.button("🗑️ ELIMINA SELEZIONATO"): - df = df[df['BeaconName'] != to_del] - save_beacons(beacons_file, df, delimiter) - st.success(f"Beacon {to_del} rimosso.") - st.rerun() - else: - st.info("Nessun beacon configurato. Inserisci il primo beacon per creare il file.") + return df_beacons, df_groups diff --git a/app/web_status.py b/app/web_status.py index f76927a..152d9f8 100644 --- a/app/web_status.py +++ b/app/web_status.py @@ -1,128 +1,93 @@ import streamlit as st import pandas as pd -import psutil import os import time -import json -import paho.mqtt.client as mqtt +from datetime import datetime import requests +import paho.mqtt.client as mqtt +import psutil # AGGIUNTO per monitoraggio processi -def get_system_metrics(): - """Recupera statistiche hardware del server.""" - return { - "cpu": psutil.cpu_percent(interval=None), - "ram": psutil.virtual_memory().percent, - "disk": psutil.disk_usage('/').percent, - "net_recv": psutil.net_io_counters().bytes_recv / (1024**2) - } +def is_main_running(): + """Verifica se il processo main.py è attualmente in esecuzione.""" + for proc in psutil.process_iter(['cmdline']): + try: + cmd = proc.info['cmdline'] + if cmd and 'app.main' in ' '.join(cmd): + return True + except (psutil.NoSuchProcess, psutil.AccessDenied): + continue + return False -def get_api_data(cfg, sec): - """Fetch reale dei beacon dalle API OIDC.""" - if not sec or 'oidc' not in sec: - return None, "Segreti mancanti" + +def check_mqtt_broker(host, port, protocol_str="mqttv311"): try: - auth_res = requests.post( - cfg['api']['token_url'], - data={ - "grant_type": "password", - "client_id": cfg['api']['client_id'], - "client_secret": sec['oidc']['client_secret'], - "username": sec['oidc']['username'], - "password": sec['oidc']['password'], - }, - verify=cfg['api'].get('verify_tls', False), - timeout=5 - ) - token = auth_res.json().get("access_token") - res = requests.get( - cfg['api']['get_beacons_url'], - headers={"Authorization": f"Bearer {token}"}, - verify=cfg['api'].get('verify_tls', False), - timeout=5 - ) - return res.json(), "OK" + # Mappatura protocollo per compatibilità paho-mqtt + proto = mqtt.MQTTv311 + if protocol_str == "mqttv5": + proto = mqtt.MQTTv5 + + client = mqtt.Client(protocol=proto) + # Aumentiamo il timeout a 5 secondi per maggiore stabilità + client.connect(host, port, keepalive=5) + client.disconnect() + return True except Exception as e: - return None, str(e) - -def show_system_status(cfg, sec=None): - st.title("🛰️ Diagnostica & Sniffer") + # Utile per il debug interno se necessario + return False - # --- 1. RISORSE DI SISTEMA --- - st.subheader("🖥️ Risorse Hardware") - m = get_system_metrics() - c1, c2, c3, c4 = st.columns(4) - c1.metric("CPU", f"{m['cpu']}%") - c2.metric("RAM", f"{m['ram']}%") - c3.metric("Disco", f"{m['disk']}%") - c4.metric("Rete", f"{m['net_recv']:.1f} MB") +def check_api_server(token_url, verify_tls): + try: + response = requests.get(token_url, timeout=2, verify=verify_tls) + return True + except: + return False - st.divider() +def show_system_status(cfg, secrets): + st.subheader("🖥️ Stato Infrastruttura") + + col1, col2, col3, col4 = st.columns(4) + + # 1. CORE ENGINE + main_active = is_main_running() + col1.metric("Core Engine", "ON" if main_active else "OFF", + delta=None, delta_color="normal") + if main_active: col1.success("✅ Main Attivo") + else: col1.error("❌ Main Fermo") - # --- 2. CONNETTIVITÀ & DATI API --- - st.subheader("🔌 Connettività & API") - col_api, col_mq = st.columns(2) + # 2. MQTT BROKER + mqtt_cfg = cfg.get('mqtt', {}) + mqtt_ok = check_mqtt_broker( + mqtt_cfg.get('host', 'localhost'), + mqtt_cfg.get('port', 1883), + mqtt_cfg.get('protocol', 'mqttv311') + ) + col2.metric("MQTT Broker", "Online" if mqtt_ok else "Offline") + if mqtt_ok: col2.success("✅ Broker OK") + else: col2.error("❌ Errore MQTT") - with col_api: - st.markdown("**Server API OIDC**") - beacons_api_data, api_msg = get_api_data(cfg, sec) - if beacons_api_data: - st.success(f"✅ Connesso ({len(beacons_api_data)} beacon)") - with st.expander("Visualizza Tabella Dati API"): - # Mostriamo i dati API in una tabella senza scroll eccessivo - df_api = pd.DataFrame(beacons_api_data) - st.table(df_api.head(10)) - else: - st.error(f"❌ Errore: {api_msg}") + # 3. API SERVER + api_cfg = cfg.get('api', {}) + api_ok = check_api_server(api_cfg.get('token_url', ''), api_cfg.get('verify_tls', False)) + col3.metric("API System", "Ready" if api_ok else "Error") + if api_ok: col3.success("✅ API OK") + else: col3.error("❌ API Down") - with col_mq: - st.markdown("**Broker MQTT**") - mq_host = cfg.get('mqtt', {}).get('host', '127.0.0.1') - st.info(f"Host: `{mq_host}`") - st.success("✅ Configurazione Caricata") + # 4. DISCO (Data Dir) + try: + usage = psutil.disk_usage('/data') + col4.metric("Spazio Disco", f"{usage.percent}%") + if usage.percent < 90: col4.success(f"✅ {usage.free // (1024**3)} GB Liberi") + else: col4.warning("⚠️ Disco quasi pieno") + except: + col4.write("N/D") + # LOG RECENTI (Ripristinati dal tuo originale) st.divider() - - # --- 3. SNIFFER DATI MQTT --- - st.subheader("🎯 Sniffer Real-Time") - st.caption("Inserisci un MAC per intercettare il traffico live (10 secondi)") - - target_mac = st.text_input("MAC da sniffare (es. ac233fc1dd49)", "").lower().replace(":", "") - - if st.button("🚀 AVVIA CATTURA", use_container_width=True, type="primary"): - if not target_mac: - st.warning("Inserisci un MAC prima di iniziare.") - else: - captured = [] - def on_message(client, userdata, message): - payload = message.payload.decode() - topic = message.topic - if target_mac in topic.lower() or target_mac in payload.lower(): - captured.append({ - "Ora": time.strftime("%H:%M:%S"), - "Topic": topic, - "Dati": payload[:100] + "..." # Accorciamo per la tabella - }) - - client = mqtt.Client(client_id=f"Sniffer_{int(time.time())}") - try: - client.on_message = on_message - client.connect(cfg['mqtt']['host'], cfg['mqtt']['port'], 60) - client.subscribe("#") - client.loop_start() - - with st.status("Cattura in corso...") as status: - progress = st.progress(0) - for i in range(100): - time.sleep(0.1) - progress.progress(i + 1) - client.loop_stop() - status.update(label="Cattura completata!", state="complete") - - if captured: - st.success(f"Intercettati {len(captured)} messaggi per `{target_mac}`") - # Usiamo st.table per evitare le slidebar (renderizza tutto il contenuto) - st.table(pd.DataFrame(captured)) - else: - st.warning("Nessun messaggio trovato. Controlla che il dispositivo sia acceso.") - except Exception as e: - st.error(f"Connessione fallita: {e}") + st.subheader("📝 Ultimi Eventi Log") + LOG_FILE = "/tmp/main_process.log" + if os.path.exists(LOG_FILE): + with open(LOG_FILE, "r") as f: + lines = f.readlines() + st.text_area("Log in tempo reale:", "".join(lines[-20:]), height=300) + else: + st.info("Nessun file di log trovato in /tmp/main_process.log") diff --git a/app/web_suite.py b/app/web_suite.py index 9f0a4f0..d71e4aa 100644 --- a/app/web_suite.py +++ b/app/web_suite.py @@ -2,183 +2,177 @@ import streamlit as st import yaml import subprocess import os -import web_status # Nuovo modulo +import time +import signal +import web_status +import psutil -# --- COSTANTI E UTILS (Invariati) --- -CONFIG_PATH = os.environ.get("CONFIG") or os.environ.get("CONFIG_FILE") or "/config/config.yaml" -SECRETS_PATH = os.environ.get("SECRETS_FILE") or "/config/secrets.yaml" -LOG_FILE = "/tmp/main_process.log" -STATE_FILE = "/data/.web_state" - -def load_yaml(path): - if not os.path.exists(path): return {} - with open(path, 'r') as f: return yaml.safe_load(f) or {} - -def save_yaml(path, data): - with open(path, 'w') as f: yaml.dump(data, f, default_flow_style=False) - -cfg = load_yaml(CONFIG_PATH) - -# --- CONFIGURAZIONE PAGINA E MENU ABOUT --- +# --- 1. CONFIGURAZIONE PAGINA --- st.set_page_config( page_title="BLE Localizer Manager", layout="wide", - initial_sidebar_state="auto", - menu_items={ - 'Get Help': None, - 'Report a bug': None, - 'About': "🛰️BLE AI Localizer - Suite\nSistema professionale di posizionamento BLE." - } + initial_sidebar_state="auto" ) -st.title("🛰️ BLE AI Localizer - Suite") # Forza il titolo qui +# --- 2. CONFIGURAZIONE PERCORSI --- +REAL_CONFIG_PATH = "/config/config.yaml" +if not os.path.exists(REAL_CONFIG_PATH): + REAL_CONFIG_PATH = "/app/config/config.yaml" -# --- CSS OTTIMIZZATO (Sidebar Fina + Mobile) --- -st.markdown(""" - - """, unsafe_allow_html=True) +LOG_FILE = "/tmp/main_process.log" -if "main_login_user" not in st.session_state: - st.session_state["main_login_user"] = "" +def load_yaml(path): + if not os.path.exists(path): return {} + with open(path, 'r', encoding='utf-8') as f: return yaml.safe_load(f) or {} -# --- LOGIN (Tua versione originale) --- +def save_yaml(path, data): + with open(path, 'w', encoding='utf-8') as f: yaml.dump(data, f, default_flow_style=False) + +cfg = load_yaml(REAL_CONFIG_PATH) + +def stop_core_engine(): + for proc in psutil.process_iter(['cmdline']): + try: + cmd = proc.info['cmdline'] + if cmd and ('app.main' in ' '.join(cmd) or 'main.py' in ' '.join(cmd)): + proc.terminate() + proc.wait(timeout=2) + except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.TimeoutExpired): + try: proc.kill() + except: pass + +def start_core_engine(): + env = os.environ.copy() + env["CONFIG"] = REAL_CONFIG_PATH + env["PYTHONPATH"] = "/app" + with open(LOG_FILE, "a") as log_f: + subprocess.Popen( + ["python3", "-m", "app.main"], + env=env, + cwd="/app", + stdout=log_f, + stderr=log_f, + start_new_session=True + ) + +# --- 3. TITOLO FISSO --- +st.title("🛰️ BLE AI Localizer - Suite") + +# --- 4. LOGICA LOGIN --- if "password_correct" not in st.session_state: st.session_state["password_correct"] = False if not st.session_state["password_correct"]: - user = st.text_input("Username", key="main_login_user") - pw = st.text_input("Password", type="password", key="main_login_pw") + user = st.text_input("Username") + pw = st.text_input("Password", type="password") if st.button("ACCEDI"): if user == os.environ.get("UI_USER", "admin") and pw == os.environ.get("UI_PASSWORD", "password"): st.session_state["password_correct"] = True st.rerun() - else: st.error("Credenziali errate") + else: + st.error("Credenziali errate") st.stop() -# Import moduli dopo login -from map_manager import show_mapper -from web_gateway import show_gateway_manager -from web_beacon import show_beacon_manager -import web_training_data -import web_inference +# --- 5. AUTO-START --- +if not web_status.is_main_running(): + if "core_auto_launched" not in st.session_state: + start_core_engine() + st.session_state["core_auto_launched"] = True + time.sleep(1) + st.rerun() -def is_proc_alive(): - return st.session_state.get('proc') is not None and st.session_state.proc.poll() is None - -# Auto-riavvio (Tua logica) -if os.path.exists(STATE_FILE): - with open(STATE_FILE, "r") as f: - if f.read().strip() == "running" and not is_proc_alive(): - log_out = open(LOG_FILE, "a") - st.session_state.proc = subprocess.Popen( - ["python", "-u", "-m", "app.main"], - env={**os.environ, "PYTHONUNBUFFERED": "1", "CONFIG": CONFIG_PATH}, - stdout=log_out, stderr=subprocess.STDOUT, text=True - ) - -# --- SIDEBAR --- +# --- 6. SIDEBAR: CONTROLLI SISTEMA --- with st.sidebar: - st.header("Stato Sistema") - alive = is_proc_alive() - if not alive: - if st.button("▶️ AVVIA MAIN"): - if os.path.exists(LOG_FILE): os.remove(LOG_FILE) - st.session_state.proc = subprocess.Popen( - ["python", "-u", "-m", "app.main"], - env={**os.environ, "PYTHONUNBUFFERED": "1", "CONFIG": CONFIG_PATH}, - stdout=open(LOG_FILE, "w"), stderr=subprocess.STDOUT, text=True - ) - with open(STATE_FILE, "w") as f: f.write("running") - st.rerun() + st.header("🛠️ Core Control") + + is_running = web_status.is_main_running() + if is_running: + st.markdown("STATO: :green[**CORE ATTIVO**]") else: - if st.button("⏹️ FERMA MAIN"): - st.session_state.proc.terminate() - st.session_state.proc = None - with open(STATE_FILE, "w") as f: f.write("stopped") + st.markdown("STATO: :red[**CORE FERMO**]") + + if st.button("🚀 RIAVVIA CORE" if is_running else "▶️ AVVIA CORE", use_container_width=True): + with st.spinner("Gestione Core..."): + stop_core_engine() + time.sleep(1) + start_core_engine() + time.sleep(2) st.rerun() + + st.divider() + # --- GESTIONE MQTT RAW (DINAMICA DA CONFIG) --- + m_cfg = cfg.get('mqtt', {}) + m_host = m_cfg.get('host', '127.0.0.1') + m_port = m_cfg.get('port', 1883) + m_proto = m_cfg.get('protocol', 'mqttv311') + # Estraiamo la parola chiave dal topic (es: 'publish_out' da 'publish_out/#') + m_filter = m_cfg.get('topic', 'publish_out').split('/')[0] + + RAW_LOG_DIR = cfg.get('paths', {}).get('mqtt_raw_dir', '/data/mqtt_raw/') + os.makedirs(RAW_LOG_DIR, exist_ok=True) + raw_active = st.toggle("🔴 MQTT RAW RECORDING", value=st.session_state.get("mqtt_logging", False)) - st.write(f"Stato: {':green[Running]' if alive else ':red[Stopped]'}") - st.write(f"Modo: **{cfg.get('mode', 'N/D').upper()}**") - if st.button("LOGOUT"): - st.session_state["password_correct"] = False - st.rerun() + if raw_active and not st.session_state.get("mqtt_logging"): + dt = time.strftime("%Y%m%d_%H%M%S") + filepath = os.path.join(RAW_LOG_DIR, f"mqtt_raw_{dt}.log") + + # Comando generato dinamicamente dai parametri YAML + cmd = f"stdbuf -oL mosquitto_sub -v -h {m_host} -p {m_port} -t '#' -V {m_proto} | stdbuf -oL grep '{m_filter}' > {filepath}" + + proc = subprocess.Popen(cmd, shell=True, preexec_fn=os.setsid) + st.session_state["mqtt_logging"] = True + st.session_state["mqtt_proc_pid"] = proc.pid + st.success(f"Log avviato: {m_host}") - st.divider() - st.caption("🚦 LIVE STATUS") - c1, c2, c3 = st.columns(3) - c1.markdown("`MQTT` 🟢") - c2.markdown("`GWs` 🟢") - c3.markdown("`API` 🟢") - -# --- TABS (Incluso il nuovo tab Stato) --- -tab_log, tab_cfg, tab_sec, tab_gw, tab_beac, tab_map, tab_data, tab_infer, tab_status = st.tabs([ - "📜 Log", "⚙️ Config", "🔑 Secrets", "🌐 Gateway", "🏷️ Beacon", "🗺️ Mappa", "📂 Dati", "🤖 Inferenza", "🖥️ Stato" + if not raw_active and st.session_state.get("mqtt_logging"): + try: + os.killpg(os.getpgid(st.session_state["mqtt_proc_pid"]), signal.SIGTERM) + except: + pass + st.session_state["mqtt_logging"] = False + +# --- 7. IMPORT MODULI E TABS --- +from map_manager import show_mapper +from web_gateway import show_gateway_manager +from web_beacon import show_beacon_manager +from web_test_inference import show_test_inference +import web_training_data +import web_inference + +tab_log, tab_cfg, tab_sec, tab_gw, tab_beac, tab_map, tab_model, tab_infer_test, tab_infer, tab_status = st.tabs([ + "📜 Log", "⚙️ Config", "🔑 Secrets", "🌐 Gateway", "🏷️ Beacon", "📍 Rilevamento", "🧠 Modello", "🧪 InferTest", "🤖 Inferenza", "🖥️ Stato" ]) -with tab_status: - import web_status - # Carica i segreti e passali alla funzione - sec_data = load_yaml(SECRETS_PATH) - web_status.show_system_status(cfg, sec_data) +with tab_log: + col_l1, col_l2 = st.columns(2) + if col_l1.button("🔄 AGGIORNA LOG", use_container_width=True): st.rerun() + if col_l2.button("🗑️ AZZERA LOG", use_container_width=True): + try: + with open(LOG_FILE, "w") as f: f.write(f"--- Log resettato il {time.strftime('%Y-%m-%d %H:%M:%S')} ---\n") + st.success("Log azzerato!"); time.sleep(1); st.rerun() + except: st.error("Errore pulizia log") + if os.path.exists(LOG_FILE): + with open(LOG_FILE, "r") as f: st.code("".join(f.readlines()[-100:])) with tab_cfg: - # RIPRISTINATA TUTTA LA TUA LOGICA ORIGINALE - c_cfg = load_yaml(CONFIG_PATH) - st.subheader("🚀 Stato Operativo") - mode_options = ["infer", "train", "collect_train"] - new_mode = st.selectbox("Modalità:", mode_options, index=mode_options.index(c_cfg.get('mode', 'infer'))) - - with st.expander("📊 Parametri Raccolta Dati", expanded=True): - p_cfg = c_cfg.get('collect_train', {}) - col_a, col_b = st.columns(2) - win_sec = col_a.number_input("Finestra (sec)", value=int(p_cfg.get('window_seconds', 30))) - min_gw = col_a.number_input("Min. Gateway", value=int(p_cfg.get('min_non_nan', 3))) - rssi_min = col_b.slider("RSSI Min", -120, -50, int(p_cfg.get('rssi_min', -110))) - rssi_max = col_b.slider("RSSI Max", -40, 0, int(p_cfg.get('rssi_max', -25))) - outlier = col_b.selectbox("Outlier", ["mad", "iqr", "none"], index=0) - - with st.expander("📡 MQTT & 🌐 API", expanded=False): - m_cfg = c_cfg.get('mqtt', {}) - mq_host = st.text_input("Broker", value=m_cfg.get('host', '127.0.0.1')) - mq_port = st.number_input("Porta", value=int(m_cfg.get('port', 1883))) - a_cfg = c_cfg.get('api', {}) - t_url = st.text_input("Token URL", value=a_cfg.get('token_url', '')) - v_tls = st.checkbox("Verify TLS", value=a_cfg.get('verify_tls', False)) - - with st.expander("🛠️ Expert Mode (YAML)", expanded=False): - cfg_text = st.text_area("Edit manuale", yaml.dump(c_cfg), height=300) - - if st.button("💾 SALVA TUTTO"): - try: - final_cfg = yaml.safe_load(cfg_text) - final_cfg['mode'] = new_mode - # Aggiorna con i valori dei widget per sicurezza - if 'collect_train' not in final_cfg: final_cfg['collect_train'] = {} - final_cfg['collect_train'].update({'window_seconds': win_sec, 'rssi_min': rssi_min}) - save_yaml(CONFIG_PATH, final_cfg) - st.success("Salvato!") - except Exception as e: st.error(e) + st.subheader("🚀 Configurazione Operativa") + cfg_text = st.text_area("Expert Mode (YAML)", yaml.dump(cfg), height=400) + if st.button("💾 SALVA CONFIG"): + save_yaml(REAL_CONFIG_PATH, yaml.safe_load(cfg_text)); st.success("Salvato!") with tab_sec: - sec = load_yaml(SECRETS_PATH) + CURR_SECRETS = os.environ.get("SECRETS_FILE") or "/config/secrets.yaml" + sec = load_yaml(CURR_SECRETS) sec_edit = st.text_area("Secrets YAML", yaml.dump(sec), height=200) - if st.button("SALVA SECRETS"): - save_yaml(SECRETS_PATH, yaml.safe_load(sec_edit)) - st.success("ApiToken salvati!") - -with tab_log: - if os.path.exists(LOG_FILE): - with open(LOG_FILE, "r") as f: st.code("".join(f.readlines()[-50:])) - if st.button("🔄 AGGIORNA LOG"): st.rerun() + if st.button("SALVA SECRETS"): + save_yaml(CURR_SECRETS, yaml.safe_load(sec_edit)); st.success("OK!") +with tab_gw: show_gateway_manager(cfg) +with tab_beac: show_beacon_manager(cfg) with tab_map: show_mapper(cfg) -with tab_gw: show_gateway_manager(load_yaml(CONFIG_PATH)) -with tab_beac: show_beacon_manager(load_yaml(CONFIG_PATH)) -with tab_data: web_training_data.show_training_data_manager(cfg) +with tab_model: web_training_data.show_training_data_manager(cfg) +with tab_infer_test: show_test_inference(cfg) with tab_infer: web_inference.show_inference_page(cfg) +with tab_status: + sec_data = load_yaml(os.environ.get("SECRETS_FILE") or "/config/secrets.yaml") + web_status.show_system_status(cfg, sec_data) diff --git a/app/web_test_inference.py b/app/web_test_inference.py new file mode 100644 index 0000000..9eda4f4 --- /dev/null +++ b/app/web_test_inference.py @@ -0,0 +1,146 @@ +import streamlit as st +import pandas as pd +import os +import joblib +import numpy as np +import math +import folium +import json +import base64 +from io import BytesIO +from pathlib import Path +from PIL import Image +from streamlit_folium import st_folium + +# --- UTILS --- +@st.cache_data +def get_image_base64(img_path): + img = Image.open(img_path).convert("RGBA") + w, h = img.size + buffered = BytesIO() + img.save(buffered, format="PNG") + img_str = base64.b64encode(buffered.getvalue()).decode("ascii") + return f"data:image/png;base64,{img_str}", w, h + +def calculate_error(z_real, x_real, y_real, z_pred, x_pred, y_pred): + z_err = abs(z_real - z_pred) + dist_err = math.sqrt((x_real - x_pred)**2 + (y_real - y_pred)**2) + return z_err, dist_err + +def show_test_inference(cfg): + st.subheader("🧪 Test Inferenza Offline") + + MODEL_DIR = Path("/data/model") + TEST_SAMPLES_DIR = Path("/data/train/testsamples") + MAPS_DIR = Path("/data/maps") + + available_models = sorted([m.name for m in MODEL_DIR.glob("model_camp_*.joblib")], reverse=True) + test_files = sorted([f.name for f in TEST_SAMPLES_DIR.glob("*.csv")]) + + if not available_models or not test_files: + st.warning("Verifica la presenza di modelli e campioni di test.") + return + + col1, col2 = st.columns(2) + selected_model = col1.selectbox("🎯 Seleziona Modello:", available_models) + selected_test = col2.selectbox("📄 Seleziona Fingerprint:", test_files) + + if "test_results" not in st.session_state: + st.session_state.test_results = None + + if st.button("🚀 ESEGUI TEST DI PRECISIONE", type="primary", use_container_width=True): + try: + m_pkg = joblib.load(MODEL_DIR / selected_model) + delim = cfg.get('paths', {}).get('csv_delimiter', ';') + df_test = pd.read_csv(TEST_SAMPLES_DIR / selected_test, sep=delim) + + row = df_test.iloc[0] + z_real, x_real, y_real = int(round(float(row['z']))), float(row['x']), float(row['y']) + + gws = m_pkg['gateways_order'] + fill = m_pkg.get('nan_fill', -110.0) + X_in = np.array([[float(row.get(gw, fill)) for gw in gws]]) + + z_pred = int(m_pkg['floor_clf'].predict(X_in)[0]) + x_pred, y_pred = -1.0, -1.0 + if z_pred in m_pkg['xy_by_floor']: + xy = m_pkg['xy_by_floor'][z_pred].predict(X_in)[0] + x_pred, y_pred = float(xy[0]), float(xy[1]) + + z_err, dist_err = calculate_error(z_real, x_real, y_real, z_pred, x_pred, y_pred) + + st.session_state.test_results = { + "z_real": z_real, "x_real": x_real, "y_real": y_real, + "z_pred": z_pred, "x_pred": x_pred, "y_pred": y_pred, + "z_err": z_err, "dist_err": dist_err, + "model_used": selected_model + } + except Exception as e: + st.error(f"Errore: {e}") + + if st.session_state.test_results: + res = st.session_state.test_results + + # --- RIPRISTINO INFORMAZIONI COORDINATE --- + c_info1, c_info2 = st.columns(2) + with c_info1: + st.info(f"📍 **Test Reale** | Piano: {res['z_real']} | X: **{res['x_real']}** | Y: **{res['y_real']}**") + with c_info2: + st.success(f"🔮 **Predizione** | Piano: {res['z_pred']} | X: **{round(res['x_pred'],1)}** | Y: **{round(res['y_pred'],1)}**") + + # --- LEGENDA AGGIORNATA CON NUOVI COLORI --- + st.markdown(f""" +
+
📍 Legenda Mappa
+ ● PUNTO DI TEST: Posizione reale del rilievo.
+ ● PUNTO PREDETTO: Posizione calcolata dal modello AI.
+ --- LINEA GIALLA: Scostamento di {round(res['dist_err'], 2)} px. +
+ """, unsafe_allow_html=True) + + img_filename = f"floor_{res['z_pred']}.png" + meta_filename = f"meta_{res['z_pred']}.json" + img_p = MAPS_DIR / img_filename + meta_p = MAPS_DIR / meta_filename + + if img_p.exists() and meta_p.exists(): + with open(meta_p, "r") as f: meta = json.load(f) + img_data, w, h = get_image_base64(img_p) + bounds = [[0, 0], [h, w]] + + m = folium.Map(location=[h/2, w/2], crs="Simple", tiles=None, zoom_start=0, attribution_control=False) + m.fit_bounds(bounds) + m.options.update({"minZoom": -5, "maxZoom": 5, "maxBounds": bounds, "zoomSnap": 0.25}) + folium.raster_layers.ImageOverlay(image=img_data, bounds=bounds).add_to(m) + + if meta.get("calibrated"): + def to_px(mx, my): + px = (mx * meta["pixel_ratio"]) + meta["origin"][0] + py = meta["origin"][1] - (my * meta["pixel_ratio"]) + return [py, px] + + p_real = to_px(res['x_real'], res['y_real']) + p_pred = to_px(res['x_pred'], res['y_pred']) + + # 🔵 PUNTO DI TEST (Celeste) + folium.CircleMarker( + location=p_real, radius=11, color="#00838f", fill=True, + fill_color="#00bcd4", fill_opacity=0.85, + tooltip="PUNTO DI TEST (REALE)" + ).add_to(m) + + # 🟠 PUNTO PREDETTO (Arancio) + if res['x_pred'] != -1.0: + folium.CircleMarker( + location=p_pred, radius=11, color="#e65100", fill=True, + fill_color="#ff9800", fill_opacity=0.85, + tooltip=f"PREDIZIONE (Modello: {res['model_used']})" + ).add_to(m) + + # Linea Errore + folium.PolyLine( + locations=[p_real, p_pred], color="#ffeb3b", + weight=4, opacity=0.7, dash_array='8' + ).add_to(m) + + st_folium(m, height=700, width=None, key=f"test_map_final", use_container_width=True) diff --git a/app/web_training_data.py b/app/web_training_data.py index 905e4aa..40e245c 100644 --- a/app/web_training_data.py +++ b/app/web_training_data.py @@ -1,72 +1,142 @@ import streamlit as st -import os import pandas as pd -from pathlib import Path +import os +import json +import shutil import time -from datetime import datetime +import joblib +from pathlib import Path + +def get_campaigns_info(directory: Path): + """Raggruppa i file per prefisso campagna.""" + if not directory.exists(): return {} + files = list(directory.glob("*.csv")) + campaigns = {} + for f in files: + parts = f.name.split('_') + if len(parts) >= 4: + camp_id = parts[0] + campaigns.setdefault(camp_id, []).append(str(f)) + return campaigns def show_training_data_manager(cfg): - st.subheader("📂 Gestione Campioni Training") + st.subheader("🧠 Console Gestione Modelli e Rilievi") - try: - raw_path = cfg.get('collect_train', {}).get('samples_dir', '/data/train/samples') - samples_dir = Path(raw_path) - except Exception as e: - st.error(f"Errore config: {e}") - return + MODEL_DIR = Path("/data/model") + JOBS_DIR = Path("/data/train/train_jobs") + MODEL_DIR.mkdir(parents=True, exist_ok=True) + JOBS_DIR.mkdir(parents=True, exist_ok=True) - # --- 1. RECUPERO E FILTRO DATI --- - all_files = [f for f in os.listdir(samples_dir) if f.endswith('.csv')] - files_data = [] + # --- 1. GESTIONE MODELLI E LINK SIMBOLICO --- + st.write("### 🎯 Modelli Generati ed Attivazione") - for file in all_files: - path = samples_dir / file - ts = os.path.getmtime(path) - files_data.append({ - "File": file, - "Data": datetime.fromtimestamp(ts).strftime("%Y-%m-%d %H:%M"), - "ts": ts - }) + available_models = sorted( + [m for m in MODEL_DIR.glob("model_camp_*.joblib")], + key=os.path.getmtime, + reverse=True + ) - df = pd.DataFrame(files_data).sort_values("ts", ascending=False) + if available_models: + # Visualizzazione stato attuale link simbolico + target_path = MODEL_DIR / "model.joblib" + if target_path.is_symlink(): + try: + current_link = os.readlink(target_path) + st.info(f"🔗 **Modello operativo attuale:** `{os.path.basename(current_link)}`") + except Exception: + st.warning("⚠️ Impossibile leggere il link simbolico.") + + # Tabella modelli esistenti + m_list = [] + for m in available_models: + m_list.append({ + "Nome Modello": m.name, + "Data": time.strftime('%d/%m/%Y %H:%M', time.localtime(m.stat().st_mtime)), + "Size": f"{round(m.stat().st_size / 1024, 1)} KB" + }) + st.dataframe(pd.DataFrame(m_list), use_container_width=True, hide_index=True) - # Barra di ricerca - search = st.text_input("🔍 Cerca coordinata:", "").strip().lower() - if search: - df = df[df['File'].str.lower().str.contains(search)] + selected_model = st.selectbox("Scegli il modello da analizzare o attivare:", [m.name for m in available_models]) + + # --- NUOVA SEZIONE: ANALISI TECNICA --- + with st.expander("🔍 Ispezione Metadati Modello", expanded=False): + try: + m_data = joblib.load(MODEL_DIR / selected_model) + st.write(f"**Data Creazione:** {m_data.get('created_at', 'N/D')}") + st.write(f"**Gateway allenati:** {len(m_data.get('gateways_order', []))}") + st.code(", ".join(m_data.get('gateways_order', []))) + + floors = list(m_data.get('xy_by_floor', {}).keys()) + st.write(f"**Piani mappati nel regressore:** {floors}") + + if not floors or len(m_data.get('gateways_order', [])) == 0: + st.error("⚠️ Attenzione: Il modello sembra non contenere dati validi.") + except Exception as e: + st.error(f"Errore caricamento per analisi: {e}") - # --- 2. VISUALIZZAZIONE COMPATTA (SENZA TREMOLIO) --- - # Usiamo le colonne per restringere la tabella al centro - col_tab, col_empty = st.columns([3, 1]) - - with col_tab: - # st.table non ha scrollbar e non ha interazioni JS che causano tremolio - st.table(df[["File", "Data"]].head(20)) + if st.button("🔗 IMPOSTA COME OPERATIVO (Symlink)", type="primary", use_container_width=True): + try: + if target_path.exists() or target_path.is_symlink(): + target_path.unlink() + current_dir = os.getcwd() + os.chdir(str(MODEL_DIR)) + os.symlink(selected_model, "model.joblib") + os.chdir(current_dir) + st.success(f"Link aggiornato con successo a {selected_model}") + time.sleep(1) + st.rerun() + except Exception as e: + st.error(f"Errore: {e}") + else: + st.info("Nessun modello disponibile.") st.divider() - # --- 3. AZIONI --- - st.markdown("### 🛠️ Azioni") - selected = st.selectbox("Seleziona file per operare:", df["File"].tolist()) + # --- 2. ISPEZIONE RILIEVI E NUOVO ADDESTRAMENTO --- + st.write("### 🚀 Analisi Dati e Nuovo Addestramento") - if selected: - file_path = samples_dir / selected - c1, c2, c3 = st.columns([1,1,1]) - - with c1: - if st.button("👁️ Dettagli", use_container_width=True): - content = pd.read_csv(file_path, sep=";") - st.markdown(f"**Dati di `{selected}`**") - st.table(content.T.reset_index().rename(columns={'index': 'AP', 0: 'RSSI'})) - - with c2: - with open(file_path, "rb") as f: - st.download_button("📥 Scarica", f, file_name=selected, use_container_width=True) - - with c3: - if st.button("🗑️ Elimina", use_container_width=True, type="primary"): - os.remove(file_path) - st.rerun() + train_cfg = cfg.get("train", {}) + samples_dir = Path(train_cfg.get("samples_dir", "/data/train/samples")) + campaigns_map = get_campaigns_info(samples_dir) + + if not campaigns_map: + st.info("Nessun dato di rilievo trovato."); return + + camp_list = sorted(campaigns_map.keys()) + selected_camp = st.radio("Seleziona Campagna:", camp_list, horizontal=True) + + current_files = campaigns_map[selected_camp] + files_df = pd.DataFrame([ + {"File": os.path.basename(f), "Size": f"{round(os.path.getsize(f)/1024, 1)} KB", "Path": f} + for f in current_files + ]).sort_values("File") + + st.dataframe(files_df[["File", "Size"]], use_container_width=True, hide_index=True) + + sel_file = st.selectbox("Ispeziona contenuto file CSV:", ["-- seleziona --"] + files_df["File"].tolist()) + if sel_file != "-- seleziona --": + f_path = files_df[files_df["File"] == sel_file]["Path"].iloc[0] + try: + delim = cfg.get('paths', {}).get('csv_delimiter', ';') + st.dataframe(pd.read_csv(f_path, sep=delim), use_container_width=True) + except Exception as e: + st.error(f"Errore lettura: {e}") - # Stats discrete in sidebar - st.sidebar.caption(f"Totale campioni: {len(all_files)}") + # Bottone di Addestramento + pending_jobs = list(JOBS_DIR.glob("*.lock")) + if pending_jobs: + st.warning(f"⏳ Addestramento in corso: {pending_jobs[0].name}") + else: + if st.button(f"🏋️ AVVIA ADDESTRAMENTO CAMPAGNA {selected_camp}", type="primary", use_container_width=True): + job_data = { + "campaign": selected_camp, + "knn": train_cfg.get("knn", {}), + "nan_fill": train_cfg.get("nan_fill", -110), + "gateways_csv": train_cfg.get("gateways_csv", "/data/config/gateway.csv"), + "timestamp": time.time() + } + with open(JOBS_DIR / f"train_{selected_camp}.lock", "w") as f: + json.dump(job_data, f) + st.success("Richiesta inviata al Core.") + time.sleep(1) + st.rerun() diff --git a/config/config.yaml b/config/config.yaml index 650f955..5acf0a1 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -60,7 +60,7 @@ infer: refresh_seconds: 10 rssi_max: -25 rssi_min: -110 - window_seconds: 5 + window_seconds: 7 xy_round: 0 maps: default_dot_size: 20 @@ -74,7 +74,7 @@ ml: method: knn metric: euclidean weights: distance -mode: collect_train +mode: all mqtt: ca_file: '' client_id: ble-ai-localizer @@ -93,6 +93,7 @@ paths: csv_delimiter: ; dataset: /data/fingerprint.parquet gateways_csv: /data/config/gateway.csv + mqtt_raw_dir: /data/mqtt_raw/ train: backup_existing_model: true gateways_csv: /data/config/gateway.csv diff --git a/config/config.yaml_v1 b/config/config.yaml_v1 new file mode 100644 index 0000000..595527e --- /dev/null +++ b/config/config.yaml_v1 @@ -0,0 +1,113 @@ +api: + audience: Fastapi + client_id: Fastapi + get_beacons_url: https://10.251.0.30:5050/reslevis/getTrackers + get_gateways_url: https://10.251.0.30:5050/reslevis/getGateways + refresh_seconds: 30 + timeout_s: 10.0 + token_url: https://10.251.0.30:10002/realms/API.Server.local/protocol/openid-connect/token + verify_tls: false +collect_train: + aggregate: median + gateway_ready_check_before_job: true + gateway_ready_log_seconds: 10 + gateway_ready_max_age_seconds: 30 + iqr_k: 1.5 + job_glob: '*.csv' + jobs_dir: /data/train/jobs + mad_z: 3.5 + max_stddev: 8 + min_non_nan: 3 + min_samples_per_gateway: 5 + outlier_method: mad + poll_seconds: 2 + rssi_decimals: 3 + rssi_max: -25 + rssi_min: -110 + samples_dir: /data/train/samples + window_seconds: 30 +debug: + collect_train_log_every_seconds: 10 + collect_train_log_first_seen: true + collect_train_log_samples: true + csv: true + dump_beacons_api: true + dump_gateways_api: true + enabled: true + log_each_mqtt_message: false + log_inference_detail: true + log_mqtt_raw: false + monitor_online: true + offline_after_seconds_beacons: 240 + offline_after_seconds_gateways: 90 + online_check_seconds: 30 + show_library_warnings: false + target_mac: '' + timezone: Europe/Rome + train_stats_top_k: 8 + train_verbose: true +infer: + aggregate: median + gateways_csv: /data/config/gateway.csv + include_mac: true + mad_z: 3.5 + model_path: /data/model/model.joblib + nan_fill: -110 + out_file: infer.csv + outlier_method: mad + output_dir: /data/infer + output_format: csv + refresh_seconds: 10 + rssi_max: -25 + rssi_min: -110 + window_seconds: 5 + xy_round: 0 +maps: + default_dot_size: 20 + default_grid_size: 100 + floor_prefix: floor_ + map_dir: /data/maps + meta_prefix: meta_ + show_grid_default: true +ml: + k: 5 + method: knn + metric: euclidean + weights: distance +mode: infer +mqtt: + ca_file: '' + client_id: ble-ai-localizer + host: 192.168.1.101 + keepalive: 60 + password: '' + port: 1883 + protocol: mqttv311 + qos: 0 + tls: false + topic: publish_out/# + username: '' + verify_tls: false +paths: + beacons_csv: /data/config/beacons.csv + csv_delimiter: ; + dataset: /data/fingerprint.parquet + gateways_csv: /data/config/gateway.csv +train: + backup_existing_model: true + gateways_csv: /data/config/gateway.csv + knn: + cv: + enabled: false + folds: 5 + k_max: 15 + k_min: 3 + k: 5 + metric: euclidean + weights: distance + model_path: /data/model/model.joblib + nan_fill: -110 + sample_glob: '*.csv' + samples_dir: /data/train/samples +ui: + font_path: /app/DejaVuSans-Bold.ttf diff --git a/config/config.yaml_v2 b/config/config.yaml_v2 new file mode 100644 index 0000000..ae43847 --- /dev/null +++ b/config/config.yaml_v2 @@ -0,0 +1,68 @@ +api: + audience: Fastapi + client_id: Fastapi + get_beacons_url: https://10.251.0.30:5050/reslevis/getTrackers + get_gateways_url: https://10.251.0.30:5050/reslevis/getGateways + refresh_seconds: 30 + timeout_s: 10.0 + token_url: https://10.251.0.30:10002/realms/API.Server.local/protocol/openid-connect/token + verify_tls: false +collect_train: + aggregate: median + gateway_ready_check_before_job: true + gateway_ready_log_seconds: 10 + gateway_ready_max_age_seconds: 30 + iqr_k: 1.5 + job_glob: '*.csv' + jobs_dir: /data/train/jobs + mad_z: 3.5 + max_stddev: 8 + min_non_nan: 3 + min_samples_per_gateway: 5 + outlier_method: mad + poll_seconds: 2 + rssi_decimals: 3 + rssi_max: -25 + rssi_min: -110 + samples_dir: /data/train/samples + window_seconds: 30 +debug: + collect_train_log_every_seconds: 10 + collect_train_log_first_seen: true +infer: + aggregate: median + gateways_csv: /data/config/gateway.csv + include_mac: true + mad_z: 3.5 + model_path: /data/model/model.joblib + nan_fill: -110 + out_file: infer.csv + outlier_method: mad + output_dir: /data/infer + output_format: csv + refresh_seconds: 10 + rssi_max: -25 + rssi_min: -110 + window_seconds: 5 + xy_round: 0 +maps: + default_dot_size: 20 + default_grid_size: 100 + floor_prefix: floor_ + map_dir: /data/maps + meta_prefix: meta_ + show_grid_default: true +ml: + k: 5 + method: knn + metric: euclidean + weights: distance +mode: all +mqtt: + ca_file: '' + client_id: ble-ai-localizer + host: 192.168.1.101 + keepalive: 60 + password: '' + port: 1883 + protocol: mqtt diff --git a/config/config.yaml_v3 b/config/config.yaml_v3 new file mode 100644 index 0000000..929c247 --- /dev/null +++ b/config/config.yaml_v3 @@ -0,0 +1,114 @@ +api: + audience: Fastapi + client_id: Fastapi + get_beacons_url: https://10.251.0.30:5050/reslevis/getTrackers + get_gateways_url: https://10.251.0.30:5050/reslevis/getGateways + refresh_seconds: 30 + timeout_s: 10.0 + token_url: https://10.251.0.30:10002/realms/API.Server.local/protocol/openid-connect/token + verify_tls: false +collect_train: + aggregate: median + gateway_ready_check_before_job: true + gateway_ready_log_seconds: 10 + gateway_ready_max_age_seconds: 30 + iqr_k: 1.5 + job_glob: '*.csv' + jobs_dir: /data/train/jobs + mad_z: 3.5 + max_stddev: 8 + min_non_nan: 3 + min_samples_per_gateway: 5 + outlier_method: mad + poll_seconds: 2 + rssi_decimals: 3 + rssi_max: -25 + rssi_min: -110 + samples_dir: /data/train/samples + window_seconds: 30 +debug: + collect_train_log_every_seconds: 10 + collect_train_log_first_seen: true + collect_train_log_samples: true + csv: true + dump_beacons_api: true + dump_gateways_api: true + enabled: true + log_each_mqtt_message: false + log_inference_detail: true + log_mqtt_raw: false + monitor_online: true + offline_after_seconds_beacons: 240 + offline_after_seconds_gateways: 90 + online_check_seconds: 30 + show_library_warnings: false + target_mac: '' + timezone: Europe/Rome + train_stats_top_k: 8 + train_verbose: true +infer: + aggregate: median + gateways_csv: /data/config/gateway.csv + include_mac: true + mad_z: 3.5 + model_path: /data/model/model.joblib + nan_fill: -110 + out_file: infer.csv + outlier_method: mad + output_dir: /data/infer + output_format: csv + refresh_seconds: 10 + rssi_max: -25 + rssi_min: -110 + window_seconds: 5 + xy_round: 0 +maps: + default_dot_size: 20 + default_grid_size: 100 + floor_prefix: floor_ + map_dir: /data/maps + meta_prefix: meta_ + show_grid_default: true +ml: + k: 5 + method: knn + metric: euclidean + weights: distance +mode: all +mqtt: + ca_file: '' + client_id: ble-ai-localizer + host: 192.168.1.101 + keepalive: 60 + password: '' + port: 1883 + protocol: mqttv311 + qos: 0 + tls: false + topic: publish_out/# + username: '' + verify_tls: false +paths: + beacons_csv: /data/config/beacons.csv + csv_delimiter: ; + dataset: /data/fingerprint.parquet + gateways_csv: /data/config/gateway.csv + mqtt_raw_dir: /data/mqtt_raw/ +train: + backup_existing_model: true + gateways_csv: /data/config/gateway.csv + knn: + cv: + enabled: false + folds: 5 + k_max: 15 + k_min: 3 + k: 5 + metric: euclidean + weights: distance + model_path: /data/model/model.joblib + nan_fill: -110 + sample_glob: '*.csv' + samples_dir: /data/train/samples +ui: + font_path: /app/DejaVuSans-Bold.ttf diff --git a/data/.web_state b/data/.web_state deleted file mode 100644 index 61d5e33..0000000 --- a/data/.web_state +++ /dev/null @@ -1 +0,0 @@ -running \ No newline at end of file diff --git a/data/config/beacongroup.csv b/data/config/beacongroup.csv new file mode 100644 index 0000000..5b0fdd7 --- /dev/null +++ b/data/config/beacongroup.csv @@ -0,0 +1,2 @@ +BeaconGroupName;GroupMAC +GBC-00;C3:00:00:57:B9:E6,C3:00:00:57:B9:D4,C3:00:00:57:B9:E8,C3:00:00:57:B9:F1 diff --git a/data/config/beacons.csv b/data/config/beacons.csv index 68c58dd..ed970c4 100755 --- a/data/config/beacons.csv +++ b/data/config/beacons.csv @@ -1,6 +1,7 @@ BeaconName;MAC -BC-21;C3:00:00:57:B9:E6 -BC-22;C3:00:00:57:B9:D4 -BC-23;C3:00:00:57:B9:E8 -BC-24;C3:00:00:57:B9:F1 -BC-25;C3:00:00:57:B9:E7 +BC-00-21;C3:00:00:57:B9:E6 +BC-04-22;C3:00:00:57:B9:D4 +BC-08-23;C3:00:00:57:B9:E8 +BC-12-24;C3:00:00:57:B9:F1 +BC-00-25;C3:00:00:57:B9:E7 +BC-04-26;C3:00:00:57:B9:E9 diff --git a/data/infer/infer.csv b/data/infer/infer.csv index 3243d9e..24d00fa 100644 --- a/data/infer/infer.csv +++ b/data/infer/infer.csv @@ -1,13 +1,13 @@ mac;z;x;y -C8:3F:8F:17:DB:35;1;1058;1294 +C8:3F:8F:17:DB:35;-1;-1;-1 C3:00:00:39:47:DF;-1;-1;-1 -C3:00:00:39:47:C4;1;1304;1478 +C3:00:00:39:47:C4;-1;1917;650 C3:00:00:39:47:E2;-1;-1;-1 -C7:AE:56:1E:38:B7;1;1323;1499 +C7:AE:56:1E:38:B7;-1;1917;650 E0:1F:9A:7A:47:D2;-1;-1;-1 -C3:00:00:57:B9:D9;1;1058;1382 -C3:00:00:57:B9:DB;1;1060;1293 -C3:00:00:57:B9:F4;1;1059;1296 -C3:00:00:57:B9:DC;1;1060;1291 -C3:00:00:57:B9:DD;1;1203;1452 -C3:00:00:57:B9:DF;1;1061;1294 +C3:00:00:57:B9:D9;-1;1917;650 +C3:00:00:57:B9:DB;-1;1917;650 +C3:00:00:57:B9:F4;-1;1917;650 +C3:00:00:57:B9:DC;-1;1917;650 +C3:00:00:57:B9:DD;-1;1917;650 +C3:00:00:57:B9:DF;-1;1917;650 diff --git a/data/maps.bck/floor_0.png b/data/maps.bck/floor_0.png deleted file mode 100644 index 7298494..0000000 Binary files a/data/maps.bck/floor_0.png and /dev/null differ diff --git a/data/maps.bck/floor_1.png b/data/maps.bck/floor_1.png deleted file mode 100644 index ac26179..0000000 Binary files a/data/maps.bck/floor_1.png and /dev/null differ diff --git a/data/maps.bck/meta_0.json b/data/maps.bck/meta_0.json deleted file mode 100644 index 0025c83..0000000 --- a/data/maps.bck/meta_0.json +++ /dev/null @@ -1 +0,0 @@ -{"pixel_ratio": 1.5843674344166205, "calibrated": true, "origin": [1296, 3744], "grid_size": 50, "show_grid": true} \ No newline at end of file diff --git a/data/maps.bck/meta_1.json b/data/maps.bck/meta_1.json deleted file mode 100644 index f29b188..0000000 --- a/data/maps.bck/meta_1.json +++ /dev/null @@ -1 +0,0 @@ -{"pixel_ratio": 1.5919341046277666, "calibrated": true, "origin": [1251, 1143], "grid_size": 50} \ No newline at end of file diff --git a/data/maps.old/floor_0.png b/data/maps.old/floor_0.png deleted file mode 100644 index 7298494..0000000 Binary files a/data/maps.old/floor_0.png and /dev/null differ diff --git a/data/maps.old/floor_1.png b/data/maps.old/floor_1.png deleted file mode 100644 index ac26179..0000000 Binary files a/data/maps.old/floor_1.png and /dev/null differ diff --git a/data/maps.old/meta_0.json b/data/maps.old/meta_0.json deleted file mode 100644 index 995e02c..0000000 --- a/data/maps.old/meta_0.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "pixel_ratio": 1.584476207254857, - "calibrated": true, - "origin": [ - 1248, - 3790 - ], - "grid_size": 50 -} \ No newline at end of file diff --git a/data/maps.old/meta_1.json b/data/maps.old/meta_1.json deleted file mode 100644 index 677cb9c..0000000 --- a/data/maps.old/meta_1.json +++ /dev/null @@ -1 +0,0 @@ -{"pixel_ratio": 1.5924732396126005, "calibrated": true, "origin": [1297, 3586], "grid_size": 50} \ No newline at end of file diff --git a/data/model/model.joblib b/data/model/model.joblib deleted file mode 100644 index 910703a..0000000 Binary files a/data/model/model.joblib and /dev/null differ diff --git a/data/model/model.joblib b/data/model/model.joblib new file mode 120000 index 0000000..84c5cf4 --- /dev/null +++ b/data/model/model.joblib @@ -0,0 +1 @@ +model_camp_00_20260209_004706.joblib \ No newline at end of file diff --git a/data/model/model_1770027181.joblib b/data/model/model_1770027181.joblib deleted file mode 100644 index 51288dc..0000000 Binary files a/data/model/model_1770027181.joblib and /dev/null differ diff --git a/data/model/model_1770027851.joblib b/data/model/model_1770027851.joblib deleted file mode 100644 index 00bc55b..0000000 Binary files a/data/model/model_1770027851.joblib and /dev/null differ diff --git a/data/model/model_1770047673.joblib b/data/model/model_1770047673.joblib deleted file mode 100644 index 2040967..0000000 Binary files a/data/model/model_1770047673.joblib and /dev/null differ diff --git a/data/model/model_1770051207.joblib b/data/model/model_1770051207.joblib deleted file mode 100644 index a9e5d4a..0000000 Binary files a/data/model/model_1770051207.joblib and /dev/null differ diff --git a/data/model/model_1770167688.joblib b/data/model/model_1770167688.joblib deleted file mode 100644 index a7e8d34..0000000 Binary files a/data/model/model_1770167688.joblib and /dev/null differ diff --git a/data/model/model_1770167694.joblib b/data/model/model_1770167694.joblib deleted file mode 100644 index 28070a2..0000000 Binary files a/data/model/model_1770167694.joblib and /dev/null differ diff --git a/data/model/model_1770196914.joblib b/data/model/model_1770196914.joblib deleted file mode 100644 index f6af3b9..0000000 Binary files a/data/model/model_1770196914.joblib and /dev/null differ diff --git a/data/model/model_1770196917.joblib b/data/model/model_1770196917.joblib deleted file mode 100644 index 9baf0cc..0000000 Binary files a/data/model/model_1770196917.joblib and /dev/null differ diff --git a/data/model/model_1770207345.joblib b/data/model/model_1770207345.joblib deleted file mode 100644 index 44231a9..0000000 Binary files a/data/model/model_1770207345.joblib and /dev/null differ diff --git a/data/model/model_1770207346.joblib b/data/model/model_1770207346.joblib deleted file mode 100644 index c60a90e..0000000 Binary files a/data/model/model_1770207346.joblib and /dev/null differ diff --git a/data/model/model_1770207359.joblib b/data/model/model_1770207359.joblib deleted file mode 100644 index 8dd666c..0000000 Binary files a/data/model/model_1770207359.joblib and /dev/null differ diff --git a/data/model/model_1770207362.joblib b/data/model/model_1770207362.joblib deleted file mode 100644 index ff39da2..0000000 Binary files a/data/model/model_1770207362.joblib and /dev/null differ diff --git a/data/model/model_1770224119.joblib b/data/model/model_1770224119.joblib deleted file mode 100644 index 3d5ac36..0000000 Binary files a/data/model/model_1770224119.joblib and /dev/null differ diff --git a/data/model/model_1770302194.joblib b/data/model/model_1770302194.joblib deleted file mode 100644 index 910703a..0000000 Binary files a/data/model/model_1770302194.joblib and /dev/null differ diff --git a/data/model/model_1770302198.joblib b/data/model/model_1770302198.joblib deleted file mode 100644 index 7c59f3d..0000000 Binary files a/data/model/model_1770302198.joblib and /dev/null differ diff --git a/data/model/model_1770302200.joblib b/data/model/model_1770302200.joblib deleted file mode 100644 index bd9195a..0000000 Binary files a/data/model/model_1770302200.joblib and /dev/null differ diff --git a/data/model/model_1770302354.joblib b/data/model/model_1770302354.joblib deleted file mode 100644 index aaac1c3..0000000 Binary files a/data/model/model_1770302354.joblib and /dev/null differ diff --git a/data/model/model_1770302511.joblib b/data/model/model_1770302511.joblib deleted file mode 100644 index 97710d0..0000000 Binary files a/data/model/model_1770302511.joblib and /dev/null differ diff --git a/data/model/model_camp_00_20260209_004706.joblib b/data/model/model_camp_00_20260209_004706.joblib new file mode 100644 index 0000000..e6683aa Binary files /dev/null and b/data/model/model_camp_00_20260209_004706.joblib differ diff --git a/data/model/model_camp_04_20260209_004711.joblib b/data/model/model_camp_04_20260209_004711.joblib new file mode 100644 index 0000000..628397a Binary files /dev/null and b/data/model/model_camp_04_20260209_004711.joblib differ diff --git a/data/model/model_camp_08_20260209_004726.joblib b/data/model/model_camp_08_20260209_004726.joblib new file mode 100644 index 0000000..5c6aae4 Binary files /dev/null and b/data/model/model_camp_08_20260209_004726.joblib differ diff --git a/data/model/model_camp_12_20260209_004751.joblib b/data/model/model_camp_12_20260209_004751.joblib new file mode 100644 index 0000000..e725f74 Binary files /dev/null and b/data/model/model_camp_12_20260209_004751.joblib differ diff --git a/data/mqtt_raw/mqtt_raw_20260209_021743.log b/data/mqtt_raw/mqtt_raw_20260209_021743.log new file mode 100644 index 0000000..e69de29 diff --git a/data/mqtt_raw/mqtt_raw_20260209_023024.log b/data/mqtt_raw/mqtt_raw_20260209_023024.log new file mode 100644 index 0000000..e69de29 diff --git a/data/mqtt_raw/mqtt_raw_20260209_023636.log b/data/mqtt_raw/mqtt_raw_20260209_023636.log new file mode 100644 index 0000000..61aef99 --- /dev/null +++ b/data/mqtt_raw/mqtt_raw_20260209_023636.log @@ -0,0 +1,313 @@ +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:36.583Z","type":"Gateway","mac":"AC233FC1DD49","nums":1},{"timestamp":"2026-02-09T00:36:36.944Z","mac":"C300003947C4","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C2A100002C32FFD152F8478"}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:36.561Z","type":"Gateway","mac":"AC233FC1DD40","nums":2},{"timestamp":"2026-02-09T00:36:36.649Z","mac":"C3000057B9F5","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1D707BA77D0"},{"timestamp":"2026-02-09T00:36:37.048Z","mac":"C3000057B9DC","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC260776BB62"}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:36.654Z","type":"Gateway","mac":"AC233FC1DD51","nums":5},{"timestamp":"2026-02-09T00:36:36.849Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A0D03095336"},{"timestamp":"2026-02-09T00:36:36.865Z","mac":"C3000057B9F4","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C2A100002089BA307BE4374"},{"timestamp":"2026-02-09T00:36:37.090Z","mac":"C3000057B9DB","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2410000204664807B0D432"},{"timestamp":"2026-02-09T00:36:37.154Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:37.459Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:36.747Z","type":"Gateway","mac":"AC233FC1DD3C","nums":6},{"timestamp":"2026-02-09T00:36:36.944Z","mac":"C300003947C4","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2A100002C32FFD152F8478"},{"timestamp":"2026-02-09T00:36:36.983Z","mac":"C3000057B9D4","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C540F0002000BA206BB32CA"},{"timestamp":"2026-02-09T00:36:37.370Z","mac":"E017085443A7","rssi":-75,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:37.391Z","mac":"C3000057B9E8","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F406F29E22"},{"timestamp":"2026-02-09T00:36:37.463Z","mac":"504C97555B00","rssi":-81,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:37.667Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:36.740Z","type":"Gateway","mac":"AC233FC1DD50","nums":1},{"timestamp":"2026-02-09T00:36:37.561Z","mac":"3868A460B93E","rssi":-81,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:36.888Z","type":"Gateway","mac":"AC233FC1DD48","nums":2},{"timestamp":"2026-02-09T00:36:37.507Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:37.587Z","mac":"C3000057B9D9","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFEC075D668A"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:36.951Z","type":"Gateway","mac":"AC233FC1DD4B","nums":5},{"timestamp":"2026-02-09T00:36:37.286Z","mac":"C3000057B9DF","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C330B0001F989520794445C"},{"timestamp":"2026-02-09T00:36:37.597Z","mac":"C3000057B9D9","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFEC075D668A"},{"timestamp":"2026-02-09T00:36:37.850Z","mac":"C3000057B9E6","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C3F100001EDC4A606F4FFDC"},{"timestamp":"2026-02-09T00:36:37.870Z","mac":"C3000057B9F4","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C2A100002089BA407BE437E"},{"timestamp":"2026-02-09T00:36:37.883Z","mac":"C300003946AC","rssi":-78,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:36.871Z","type":"Gateway","mac":"AC233FC1DD55","nums":8},{"timestamp":"2026-02-09T00:36:36.945Z","mac":"C300003947C4","rssi":-84,"rawData":"0201060303AAFE1116AAFE20000C2A100002C32FFD152F8478"},{"timestamp":"2026-02-09T00:36:36.983Z","mac":"C3000057B9D4","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C540F0002000BA206BB32CA"},{"timestamp":"2026-02-09T00:36:37.005Z","mac":"D54E908B7972","rssi":-82,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:37.271Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:37.370Z","mac":"E017085443A7","rssi":-82,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:37.391Z","mac":"C3000057B9E8","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F406F29E22"},{"timestamp":"2026-02-09T00:36:37.736Z","mac":"F045AEE31DB4","rssi":-77,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:37.855Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:37.063Z","type":"Gateway","mac":"AC233FC1DD4E","nums":13},{"timestamp":"2026-02-09T00:36:37.283Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:37.285Z","mac":"C3000057B9DF","rssi":-67,"rawData":"0201060303AAFE1116AAFE20000C330B0001F989520794445C"},{"timestamp":"2026-02-09T00:36:37.298Z","mac":"0BC8DA14CEAC","rssi":-81,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:37.596Z","mac":"C3000057B9D9","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFEC075D668A"},{"timestamp":"2026-02-09T00:36:37.599Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:37.605Z","mac":"0BC8DA14CEAC","rssi":-81,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:37.667Z","mac":"C3000057B9F5","rssi":-64,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1D807BA77DA"},{"timestamp":"2026-02-09T00:36:37.736Z","mac":"F045AEE31DB4","rssi":-74,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:37.767Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:37.869Z","mac":"C3000057B9F4","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2A100002089BA407BE437E"},{"timestamp":"2026-02-09T00:36:37.882Z","mac":"C300003946AC","rssi":-79,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:37.912Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:37.922Z","mac":"0BC8DA14CEAC","rssi":-82,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:37.060Z","type":"Gateway","mac":"AC233FC1DCCD","nums":8},{"timestamp":"2026-02-09T00:36:37.090Z","mac":"C3000057B9DB","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C2410000204664807B0D432"},{"timestamp":"2026-02-09T00:36:37.152Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:37.160Z","mac":"C3000057B9F1","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CBFE06E55A32"},{"timestamp":"2026-02-09T00:36:37.456Z","mac":"C7AE561E38B7","rssi":-86,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:37.732Z","mac":"F045AEE31DB4","rssi":-76,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:37.764Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:38.004Z","mac":"D54E908B7972","rssi":-80,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:38.050Z","mac":"C3000057B9DC","rssi":-66,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC270776BB6C"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:37.256Z","type":"Gateway","mac":"AC233FC1DCD3","nums":0}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:37.259Z","type":"Gateway","mac":"AC233FC1DCD1","nums":10},{"timestamp":"2026-02-09T00:36:37.552Z","mac":"C300003946B1","rssi":-63,"rawData":"0201061AFF4C000215E2C56DB5DFFB48D2B060D0F5A71096E000000000EC"},{"timestamp":"2026-02-09T00:36:37.848Z","mac":"C3000057B9E6","rssi":-53,"rawData":"0201060303AAFE1116AAFE20000C3F100001EDC4A606F4FFDC"},{"timestamp":"2026-02-09T00:36:37.866Z","mac":"C3000057B9F4","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C2A100002089BA407BE437E"},{"timestamp":"2026-02-09T00:36:37.879Z","mac":"C300003946AC","rssi":-58,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:37.990Z","mac":"C3000057B9D4","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C540F0002000BA306BB32D4"},{"timestamp":"2026-02-09T00:36:38.002Z","mac":"D54E908B7972","rssi":-58,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:38.050Z","mac":"C3000057B9DC","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC270776BB6C"},{"timestamp":"2026-02-09T00:36:38.068Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A0F03095336"},{"timestamp":"2026-02-09T00:36:38.096Z","mac":"C3000057B9DB","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2410000204664907B0D43C"},{"timestamp":"2026-02-09T00:36:38.175Z","mac":"C3000057B9F1","rssi":-48,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CBFF06E55A3C"}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:37.383Z","type":"Gateway","mac":"AC233FC1DCEE","nums":3},{"timestamp":"2026-02-09T00:36:37.948Z","mac":"C300003947C4","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C2A100002C32FFE152F8482"},{"timestamp":"2026-02-09T00:36:37.992Z","mac":"C3000057B9D4","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C540F0002000BA306BB32D4"},{"timestamp":"2026-02-09T00:36:38.359Z","mac":"C3000057B9E7","rssi":-84,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C40C0710B484"}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:37.385Z","type":"Gateway","mac":"AC233FC1DD31","nums":4},{"timestamp":"2026-02-09T00:36:37.597Z","mac":"C3000057B9D9","rssi":-52,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFEC075D668A"},{"timestamp":"2026-02-09T00:36:37.850Z","mac":"C3000057B9E6","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C3F100001EDC4A606F4FFDC"},{"timestamp":"2026-02-09T00:36:37.869Z","mac":"C3000057B9F4","rssi":-47,"rawData":"0201060303AAFE1116AAFE20000C2A100002089BA407BE437E"},{"timestamp":"2026-02-09T00:36:38.177Z","mac":"C3000057B9F1","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CBFF06E55A3C"}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:37.543Z","type":"Gateway","mac":"AC233FC1DD49","nums":0}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:37.551Z","type":"Gateway","mac":"AC233FC1DD40","nums":1},{"timestamp":"2026-02-09T00:36:37.861Z","mac":"C3000057B9F4","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2A100002089BA407BE437E"}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:37.506Z","type":"Gateway","mac":"AC233FC1DCCB","nums":6},{"timestamp":"2026-02-09T00:36:37.596Z","mac":"C3000057B9D9","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFEC075D668A"},{"timestamp":"2026-02-09T00:36:37.666Z","mac":"C3000057B9F5","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1D807BA77DA"},{"timestamp":"2026-02-09T00:36:37.868Z","mac":"C3000057B9F4","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C2A100002089BA407BE437E"},{"timestamp":"2026-02-09T00:36:37.882Z","mac":"C300003946AC","rssi":-73,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:37.951Z","mac":"C300003947C4","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C2A100002C32FFE152F8482"},{"timestamp":"2026-02-09T00:36:38.176Z","mac":"C3000057B9F1","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CBFF06E55A3C"}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:37.525Z","type":"Gateway","mac":"AC233FC1DCD2","nums":22},{"timestamp":"2026-02-09T00:36:37.554Z","mac":"C300003946B1","rssi":-79,"rawData":"0201061AFF4C000215E2C56DB5DFFB48D2B060D0F5A71096E000000000EC"},{"timestamp":"2026-02-09T00:36:37.596Z","mac":"C3000057B9D9","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFEC075D668A"},{"timestamp":"2026-02-09T00:36:37.654Z","mac":"D920A4A6D237","rssi":-66,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:37.667Z","mac":"C3000057B9F5","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1D807BA77DA"},{"timestamp":"2026-02-09T00:36:37.855Z","mac":"E43883D93326","rssi":-85,"rawData":"1106B93D2E1D72D12592F94FD44ACDC5392109162A25E43883D93324"},{"timestamp":"2026-02-09T00:36:37.869Z","mac":"C3000057B9F4","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2A100002089BA407BE437E"},{"timestamp":"2026-02-09T00:36:37.882Z","mac":"C300003946AC","rssi":-57,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:37.952Z","mac":"C300003947C4","rssi":-61,"rawData":"0201060303AAFE1116AAFE20000C2A100002C32FFE152F8482"},{"timestamp":"2026-02-09T00:36:37.995Z","mac":"C3000057B9D4","rssi":-67,"rawData":"0201060303AAFE1116AAFE20000C540F0002000BA306BB32D4"},{"timestamp":"2026-02-09T00:36:38.007Z","mac":"D54E908B7972","rssi":-74,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:38.052Z","mac":"C3000057B9DC","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC270776BB6C"},{"timestamp":"2026-02-09T00:36:38.070Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A0F03095336"},{"timestamp":"2026-02-09T00:36:38.099Z","mac":"C3000057B9DB","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C2410000204664907B0D43C"},{"timestamp":"2026-02-09T00:36:38.140Z","mac":"A0D05BD2E2E5","rssi":-80,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:38.177Z","mac":"C3000057B9F1","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CBFF06E55A3C"},{"timestamp":"2026-02-09T00:36:38.297Z","mac":"C3000057B9DF","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C330B0001F9895307944466"},{"timestamp":"2026-02-09T00:36:38.362Z","mac":"C3000057B9E7","rssi":-61,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C40C0710B484"},{"timestamp":"2026-02-09T00:36:38.364Z","mac":"E017085443A7","rssi":-46,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:38.375Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A0F03095336"},{"timestamp":"2026-02-09T00:36:38.390Z","mac":"C3000057B9E8","rssi":-63,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F506F29E2C"},{"timestamp":"2026-02-09T00:36:38.410Z","mac":"C3000057B9DD","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C81F07922122"},{"timestamp":"2026-02-09T00:36:38.439Z","mac":"A0D05BD2E2E5","rssi":-80,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:37.664Z","type":"Gateway","mac":"AC233FC1DD51","nums":6},{"timestamp":"2026-02-09T00:36:37.735Z","mac":"F045AEE31DB4","rssi":-80,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:37.767Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:38.053Z","mac":"C3000057B9DC","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC270776BB6C"},{"timestamp":"2026-02-09T00:36:38.071Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A0F03095336"},{"timestamp":"2026-02-09T00:36:38.099Z","mac":"C3000057B9DB","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C2410000204664907B0D43C"},{"timestamp":"2026-02-09T00:36:38.375Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A0F03095336"}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:37.766Z","type":"Gateway","mac":"AC233FC1DD3C","nums":5},{"timestamp":"2026-02-09T00:36:38.390Z","mac":"C3000057B9E8","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F506F29E2C"},{"timestamp":"2026-02-09T00:36:38.432Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:38.633Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:38.656Z","mac":"D920A4A6D237","rssi":-83,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:38.739Z","mac":"F045AEE31DB4","rssi":-73,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:37.760Z","type":"Gateway","mac":"AC233FC1DD50","nums":1},{"timestamp":"2026-02-09T00:36:38.486Z","mac":"3868A460B93E","rssi":-82,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:37.862Z","type":"Gateway","mac":"AC233FC1DD55","nums":4},{"timestamp":"2026-02-09T00:36:37.869Z","mac":"C3000057B9F4","rssi":-84,"rawData":"0201060303AAFE1116AAFE20000C2A100002089BA407BE437E"},{"timestamp":"2026-02-09T00:36:38.177Z","mac":"C3000057B9F1","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CBFF06E55A3C"},{"timestamp":"2026-02-09T00:36:38.831Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:38.848Z","mac":"C3000057B9E6","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C3F100001EDC4A706F4FFE6"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:37.888Z","type":"Gateway","mac":"AC233FC1DD4B","nums":0}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:37.890Z","type":"Gateway","mac":"AC233FC1DD48","nums":4},{"timestamp":"2026-02-09T00:36:38.401Z","mac":"C3000057B9DD","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C81F07922122"},{"timestamp":"2026-02-09T00:36:38.430Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:38.590Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:38.672Z","mac":"C3000057B9F5","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1D907BA77E4"}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:38.055Z","type":"Gateway","mac":"AC233FC1DCCD","nums":10},{"timestamp":"2026-02-09T00:36:38.068Z","mac":"C7AE561E38B7","rssi":-85,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A0F03095336"},{"timestamp":"2026-02-09T00:36:38.096Z","mac":"C3000057B9DB","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C2410000204664907B0D43C"},{"timestamp":"2026-02-09T00:36:38.360Z","mac":"C3000057B9E7","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C40C0710B484"},{"timestamp":"2026-02-09T00:36:38.361Z","mac":"E017085443A7","rssi":-79,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:38.387Z","mac":"C3000057B9E8","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F506F29E2C"},{"timestamp":"2026-02-09T00:36:38.407Z","mac":"C3000057B9DD","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C81F07922122"},{"timestamp":"2026-02-09T00:36:38.675Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A0F03095336"},{"timestamp":"2026-02-09T00:36:38.678Z","mac":"C3000057B9F5","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1D907BA77E4"},{"timestamp":"2026-02-09T00:36:38.981Z","mac":"C7AE561E38B7","rssi":-85,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:38.999Z","mac":"C3000057B9D4","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C540E0002000BA406BB32DE"}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:38.181Z","type":"Gateway","mac":"AC233FC1DCD1","nums":7},{"timestamp":"2026-02-09T00:36:38.846Z","mac":"C3000057B9E6","rssi":-52,"rawData":"0201060303AAFE1116AAFE20000C3F100001EDC4A706F4FFE6"},{"timestamp":"2026-02-09T00:36:38.966Z","mac":"C300003947C4","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2A0F0002C32FFF152F848C"},{"timestamp":"2026-02-09T00:36:38.981Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:38.999Z","mac":"C3000057B9D4","rssi":-55,"rawData":"0201060303AAFE1116AAFE20000C540E0002000BA406BB32DE"},{"timestamp":"2026-02-09T00:36:39.007Z","mac":"D54E908B7972","rssi":-58,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:39.108Z","mac":"C3000057B9DB","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C2410000204664A07B0D446"},{"timestamp":"2026-02-09T00:36:39.172Z","mac":"C3000057B9F1","rssi":-44,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CC0006E55A46"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:38.026Z","type":"Gateway","mac":"AC233FC1DD4E","nums":10},{"timestamp":"2026-02-09T00:36:38.177Z","mac":"C3000057B9F1","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CBFF06E55A3C"},{"timestamp":"2026-02-09T00:36:38.217Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:38.238Z","mac":"0BC8DA14CEAC","rssi":-81,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:38.529Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:38.560Z","mac":"0BC8DA14CEAC","rssi":-82,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:38.681Z","mac":"C3000057B9F5","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1D907BA77E4"},{"timestamp":"2026-02-09T00:36:38.851Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:38.955Z","mac":"E6E749BA2D00","rssi":-83,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:38.983Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:39.059Z","mac":"C3000057B9DC","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC280776BB76"}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:38.375Z","type":"Gateway","mac":"AC233FC1DD31","nums":3},{"timestamp":"2026-02-09T00:36:38.476Z","mac":"E43883D93326","rssi":-85,"rawData":"1106B93D2E1D72D12592F94FD44ACDC5392109162A25E43883D93324"},{"timestamp":"2026-02-09T00:36:39.061Z","mac":"C3000057B9DC","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC280776BB76"},{"timestamp":"2026-02-09T00:36:39.112Z","mac":"C3000057B9DB","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2410000204664A07B0D446"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:38.255Z","type":"Gateway","mac":"AC233FC1DCD3","nums":0}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:38.366Z","type":"Gateway","mac":"AC233FC1DCEE","nums":1},{"timestamp":"2026-02-09T00:36:38.360Z","mac":"E017085443A7","rssi":-81,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:38.544Z","type":"Gateway","mac":"AC233FC1DCD2","nums":6},{"timestamp":"2026-02-09T00:36:38.849Z","mac":"C3000057B9E6","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C3F100001EDC4A706F4FFE6"},{"timestamp":"2026-02-09T00:36:38.877Z","mac":"C3000057B9F4","rssi":-61,"rawData":"0201060303AAFE1116AAFE20000C2A100002089BA507BE4388"},{"timestamp":"2026-02-09T00:36:39.111Z","mac":"C3000057B9DB","rssi":-52,"rawData":"0201060303AAFE1116AAFE20000C2410000204664A07B0D446"},{"timestamp":"2026-02-09T00:36:39.178Z","mac":"C3000057B9F1","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CC0006E55A46"},{"timestamp":"2026-02-09T00:36:39.392Z","mac":"C3000057B9E8","rssi":-62,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F606F29E36"},{"timestamp":"2026-02-09T00:36:39.415Z","mac":"C3000057B9DD","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C8200792212C"}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:38.561Z","type":"Gateway","mac":"AC233FC1DD40","nums":2},{"timestamp":"2026-02-09T00:36:39.053Z","mac":"C3000057B9DC","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC280776BB76"},{"timestamp":"2026-02-09T00:36:39.357Z","mac":"E017085443A7","rssi":-81,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:38.542Z","type":"Gateway","mac":"AC233FC1DD49","nums":3},{"timestamp":"2026-02-09T00:36:38.849Z","mac":"C3000057B9E6","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C3F100001EDC4A706F4FFE6"},{"timestamp":"2026-02-09T00:36:39.364Z","mac":"E017085443A7","rssi":-78,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:39.391Z","mac":"C3000057B9E8","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F606F29E36"}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:38.575Z","type":"Gateway","mac":"AC233FC1DCCB","nums":5},{"timestamp":"2026-02-09T00:36:38.849Z","mac":"C3000057B9E6","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C3F100001EDC4A706F4FFE6"},{"timestamp":"2026-02-09T00:36:38.876Z","mac":"C3000057B9F4","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C2A100002089BA507BE4388"},{"timestamp":"2026-02-09T00:36:39.111Z","mac":"C3000057B9DB","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2410000204664A07B0D446"},{"timestamp":"2026-02-09T00:36:39.176Z","mac":"C3000057B9F1","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CC0006E55A46"},{"timestamp":"2026-02-09T00:36:39.391Z","mac":"C3000057B9E8","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F606F29E36"}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:38.674Z","type":"Gateway","mac":"AC233FC1DD51","nums":5},{"timestamp":"2026-02-09T00:36:38.677Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A0F03095336"},{"timestamp":"2026-02-09T00:36:38.984Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:39.288Z","mac":"C7AE561E38B7","rssi":-81,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:39.309Z","mac":"C3000057B9DF","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C330B0001F9895407944470"},{"timestamp":"2026-02-09T00:36:39.592Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:38.745Z","type":"Gateway","mac":"AC233FC1DD3C","nums":4},{"timestamp":"2026-02-09T00:36:38.848Z","mac":"C3000057B9E6","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C3F100001EDC4A706F4FFE6"},{"timestamp":"2026-02-09T00:36:39.223Z","mac":"504C97555B00","rssi":-75,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:39.392Z","mac":"C3000057B9E8","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F606F29E36"},{"timestamp":"2026-02-09T00:36:39.615Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:38.793Z","type":"Gateway","mac":"AC233FC1DD50","nums":3},{"timestamp":"2026-02-09T00:36:38.790Z","mac":"3868A460B93E","rssi":-81,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"},{"timestamp":"2026-02-09T00:36:39.406Z","mac":"3868A460B93E","rssi":-81,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"},{"timestamp":"2026-02-09T00:36:39.716Z","mac":"3868A460B93E","rssi":-82,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:38.854Z","type":"Gateway","mac":"AC233FC1DD55","nums":6},{"timestamp":"2026-02-09T00:36:39.364Z","mac":"E017085443A7","rssi":-71,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:39.368Z","mac":"C3000057B9E7","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C40D0710B48E"},{"timestamp":"2026-02-09T00:36:39.392Z","mac":"C3000057B9E8","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F606F29E36"},{"timestamp":"2026-02-09T00:36:39.735Z","mac":"F045AEE31DB4","rssi":-79,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:39.813Z","mac":"504C97555B00","rssi":-81,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:39.855Z","mac":"C3000057B9E6","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4A806F4FFF0"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:38.890Z","type":"Gateway","mac":"AC233FC1DD4B","nums":6},{"timestamp":"2026-02-09T00:36:39.060Z","mac":"C3000057B9DC","rssi":-54,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC280776BB76"},{"timestamp":"2026-02-09T00:36:39.112Z","mac":"C3000057B9DB","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C2410000204664A07B0D446"},{"timestamp":"2026-02-09T00:36:39.365Z","mac":"E017085443A7","rssi":-77,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:39.416Z","mac":"C3000057B9DD","rssi":-70,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C8200792212C"},{"timestamp":"2026-02-09T00:36:39.690Z","mac":"C3000057B9F5","rssi":-62,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DA07BA77EE"},{"timestamp":"2026-02-09T00:36:39.735Z","mac":"F045AEE31DB4","rssi":-74,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:38.970Z","type":"Gateway","mac":"AC233FC1DD48","nums":3},{"timestamp":"2026-02-09T00:36:39.300Z","mac":"C3000057B9DF","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C330B0001F9895407944470"},{"timestamp":"2026-02-09T00:36:39.657Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:39.680Z","mac":"C3000057B9F5","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DA07BA77EE"}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:39.101Z","type":"Gateway","mac":"AC233FC1DCCD","nums":7},{"timestamp":"2026-02-09T00:36:39.285Z","mac":"C7AE561E38B7","rssi":-85,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:39.589Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:39.605Z","mac":"C3000057B9D9","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFEE075D669E"},{"timestamp":"2026-02-09T00:36:39.853Z","mac":"C3000057B9E6","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4A806F4FFF0"},{"timestamp":"2026-02-09T00:36:39.871Z","mac":"C3000057B9F4","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C24100002089BA607BE4392"},{"timestamp":"2026-02-09T00:36:39.881Z","mac":"C300003946AC","rssi":-75,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:39.892Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:39.066Z","type":"Gateway","mac":"AC233FC1DD4E","nums":14},{"timestamp":"2026-02-09T00:36:39.092Z","mac":"0BC8DA14CEAC","rssi":-82,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:39.110Z","mac":"C3000057B9DB","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C2410000204664A07B0D446"},{"timestamp":"2026-02-09T00:36:39.159Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:39.176Z","mac":"C3000057B9F1","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CC0006E55A46"},{"timestamp":"2026-02-09T00:36:39.364Z","mac":"E017085443A7","rssi":-80,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:39.368Z","mac":"C3000057B9E7","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C40D0710B48E"},{"timestamp":"2026-02-09T00:36:39.410Z","mac":"0BC8DA14CEAC","rssi":-81,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:39.415Z","mac":"C3000057B9DD","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C8200792212C"},{"timestamp":"2026-02-09T00:36:39.472Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:39.688Z","mac":"C3000057B9F5","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DA07BA77EE"},{"timestamp":"2026-02-09T00:36:39.786Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:39.876Z","mac":"C3000057B9F4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C24100002089BA607BE4392"},{"timestamp":"2026-02-09T00:36:39.976Z","mac":"C300003947C4","rssi":-85,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33000152F8496"},{"timestamp":"2026-02-09T00:36:40.047Z","mac":"0BC8DA14CEAC","rssi":-81,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:39.179Z","type":"Gateway","mac":"AC233FC1DCD1","nums":14},{"timestamp":"2026-02-09T00:36:39.363Z","mac":"E017085443A7","rssi":-37,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:39.367Z","mac":"C3000057B9E7","rssi":-57,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C40D0710B48E"},{"timestamp":"2026-02-09T00:36:39.389Z","mac":"C3000057B9E8","rssi":-64,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F606F29E36"},{"timestamp":"2026-02-09T00:36:39.687Z","mac":"C3000057B9F5","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DA07BA77EE"},{"timestamp":"2026-02-09T00:36:39.732Z","mac":"F045AEE31DB4","rssi":-38,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:39.850Z","mac":"C3000057B9E6","rssi":-51,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4A806F4FFF0"},{"timestamp":"2026-02-09T00:36:39.871Z","mac":"C3000057B9F4","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C24100002089BA607BE4392"},{"timestamp":"2026-02-09T00:36:39.881Z","mac":"C300003946AC","rssi":-64,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:39.893Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:39.975Z","mac":"C300003947C4","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33000152F8496"},{"timestamp":"2026-02-09T00:36:40.002Z","mac":"C3000057B9D4","rssi":-62,"rawData":"0201060303AAFE1116AAFE20000C540E0002000BA506BB32E8"},{"timestamp":"2026-02-09T00:36:40.009Z","mac":"D54E908B7972","rssi":-59,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:40.110Z","mac":"C3000057B9DB","rssi":-70,"rawData":"0201060303AAFE1116AAFE20000C2710000204664B07B0D450"},{"timestamp":"2026-02-09T00:36:40.183Z","mac":"C3000057B9F1","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CC0106E55A50"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:39.253Z","type":"Gateway","mac":"AC233FC1DCD3","nums":1},{"timestamp":"2026-02-09T00:36:40.057Z","mac":"C3000057B9DC","rssi":-84,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC290776BB80"}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:39.315Z","type":"Gateway","mac":"AC233FC1DD31","nums":11},{"timestamp":"2026-02-09T00:36:39.365Z","mac":"E017085443A7","rssi":-68,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:39.369Z","mac":"C3000057B9E7","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C40D0710B48E"},{"timestamp":"2026-02-09T00:36:39.392Z","mac":"C3000057B9E8","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F606F29E36"},{"timestamp":"2026-02-09T00:36:39.416Z","mac":"C3000057B9DD","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C8200792212C"},{"timestamp":"2026-02-09T00:36:39.690Z","mac":"C3000057B9F5","rssi":-32,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DA07BA77EE"},{"timestamp":"2026-02-09T00:36:39.735Z","mac":"F045AEE31DB4","rssi":-66,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:39.977Z","mac":"C300003947C4","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33000152F8496"},{"timestamp":"2026-02-09T00:36:40.005Z","mac":"C3000057B9D4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C540E0002000BA506BB32E8"},{"timestamp":"2026-02-09T00:36:40.012Z","mac":"D54E908B7972","rssi":-78,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:40.060Z","mac":"C3000057B9DC","rssi":-61,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC290776BB80"},{"timestamp":"2026-02-09T00:36:40.332Z","mac":"C3000057B9DF","rssi":-67,"rawData":"0201060303AAFE1116AAFE20000C330B0001F989550794447A"}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:39.373Z","type":"Gateway","mac":"AC233FC1DCEE","nums":3},{"timestamp":"2026-02-09T00:36:39.389Z","mac":"C3000057B9E8","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F606F29E36"},{"timestamp":"2026-02-09T00:36:39.974Z","mac":"C300003947C4","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33000152F8496"},{"timestamp":"2026-02-09T00:36:40.001Z","mac":"C3000057B9D4","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C540E0002000BA506BB32E8"}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:39.511Z","type":"Gateway","mac":"AC233FC1DCD2","nums":15},{"timestamp":"2026-02-09T00:36:39.734Z","mac":"F045AEE31DB4","rssi":-48,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:40.005Z","mac":"C3000057B9D4","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C540E0002000BA506BB32E8"},{"timestamp":"2026-02-09T00:36:40.012Z","mac":"D54E908B7972","rssi":-76,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:40.060Z","mac":"C3000057B9DC","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC290776BB80"},{"timestamp":"2026-02-09T00:36:40.115Z","mac":"C3000057B9DB","rssi":-58,"rawData":"0201060303AAFE1116AAFE20000C2710000204664B07B0D450"},{"timestamp":"2026-02-09T00:36:40.185Z","mac":"C3000057B9F1","rssi":-61,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CC0106E55A50"},{"timestamp":"2026-02-09T00:36:40.202Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1103095336"},{"timestamp":"2026-02-09T00:36:40.287Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:40.330Z","mac":"C3000057B9DF","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C330B0001F989550794447A"},{"timestamp":"2026-02-09T00:36:40.340Z","mac":"E43883D93326","rssi":-84,"rawData":"1106B93D2E1D72D12592F94FD44ACDC5392109162A25E43883D93324"},{"timestamp":"2026-02-09T00:36:40.369Z","mac":"E017085443A7","rssi":-50,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:40.383Z","mac":"C3000057B9E7","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C40E0710B498"},{"timestamp":"2026-02-09T00:36:40.389Z","mac":"C3000057B9E8","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F706F29E40"},{"timestamp":"2026-02-09T00:36:40.432Z","mac":"C3000057B9DD","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82107922136"},{"timestamp":"2026-02-09T00:36:40.507Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1103095336"}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:39.596Z","type":"Gateway","mac":"AC233FC1DCCB","nums":5},{"timestamp":"2026-02-09T00:36:39.734Z","mac":"F045AEE31DB4","rssi":-65,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:40.004Z","mac":"C3000057B9D4","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C540E0002000BA506BB32E8"},{"timestamp":"2026-02-09T00:36:40.115Z","mac":"C3000057B9DB","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2710000204664B07B0D450"},{"timestamp":"2026-02-09T00:36:40.369Z","mac":"E017085443A7","rssi":-69,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:40.388Z","mac":"C3000057B9E8","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F706F29E40"}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:39.561Z","type":"Gateway","mac":"AC233FC1DD40","nums":1},{"timestamp":"2026-02-09T00:36:39.682Z","mac":"C3000057B9F5","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DA07BA77EE"}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:39.594Z","type":"Gateway","mac":"AC233FC1DD49","nums":0}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:39.694Z","type":"Gateway","mac":"AC233FC1DD51","nums":5},{"timestamp":"2026-02-09T00:36:39.874Z","mac":"C3000057B9F4","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C24100002089BA607BE4392"},{"timestamp":"2026-02-09T00:36:39.884Z","mac":"C300003946AC","rssi":-86,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:39.895Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:40.203Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1103095336"},{"timestamp":"2026-02-09T00:36:40.505Z","mac":"C7AE561E38B7","rssi":-81,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1103095336"}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:39.715Z","type":"Gateway","mac":"AC233FC1DD3C","nums":8},{"timestamp":"2026-02-09T00:36:39.734Z","mac":"F045AEE31DB4","rssi":-80,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:39.812Z","mac":"504C97555B00","rssi":-77,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:40.005Z","mac":"C3000057B9D4","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C540E0002000BA506BB32E8"},{"timestamp":"2026-02-09T00:36:40.369Z","mac":"E017085443A7","rssi":-76,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:40.382Z","mac":"C3000057B9E7","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C40E0710B498"},{"timestamp":"2026-02-09T00:36:40.401Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:40.667Z","mac":"D920A4A6D237","rssi":-82,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:40.732Z","mac":"F045AEE31DB4","rssi":-76,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:39.821Z","type":"Gateway","mac":"AC233FC1DD50","nums":2},{"timestamp":"2026-02-09T00:36:40.329Z","mac":"3868A460B93E","rssi":-82,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"},{"timestamp":"2026-02-09T00:36:40.643Z","mac":"3868A460B93E","rssi":-81,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:39.862Z","type":"Gateway","mac":"AC233FC1DD55","nums":9},{"timestamp":"2026-02-09T00:36:40.003Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:40.005Z","mac":"C3000057B9D4","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C540E0002000BA506BB32E8"},{"timestamp":"2026-02-09T00:36:40.012Z","mac":"D54E908B7972","rssi":-84,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:40.369Z","mac":"E017085443A7","rssi":-72,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:40.388Z","mac":"C3000057B9E8","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F706F29E40"},{"timestamp":"2026-02-09T00:36:40.402Z","mac":"504C97555B00","rssi":-81,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:40.597Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:40.733Z","mac":"F045AEE31DB4","rssi":-77,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:40.872Z","mac":"C3000057B9F4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C24100002089BA707BE439C"}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:39.980Z","type":"Gateway","mac":"AC233FC1DD48","nums":4},{"timestamp":"2026-02-09T00:36:40.604Z","mac":"C3000057B9D9","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFEF075D66A8"},{"timestamp":"2026-02-09T00:36:40.694Z","mac":"C3000057B9F5","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DB07BA77F8"},{"timestamp":"2026-02-09T00:36:40.741Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:40.896Z","mac":"A0D05BD2E2E5","rssi":-85,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:39.941Z","type":"Gateway","mac":"AC233FC1DD4B","nums":6},{"timestamp":"2026-02-09T00:36:39.977Z","mac":"C300003947C4","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33000152F8496"},{"timestamp":"2026-02-09T00:36:40.060Z","mac":"C3000057B9DC","rssi":-63,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC290776BB80"},{"timestamp":"2026-02-09T00:36:40.332Z","mac":"C3000057B9DF","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C330B0001F989550794447A"},{"timestamp":"2026-02-09T00:36:40.614Z","mac":"C3000057B9D9","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFEF075D66A8"},{"timestamp":"2026-02-09T00:36:40.668Z","mac":"D920A4A6D237","rssi":-78,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:40.704Z","mac":"C3000057B9F5","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DB07BA77F8"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:40.054Z","type":"Gateway","mac":"AC233FC1DD4E","nums":15},{"timestamp":"2026-02-09T00:36:40.059Z","mac":"C3000057B9DC","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC290776BB80"},{"timestamp":"2026-02-09T00:36:40.308Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:40.330Z","mac":"C3000057B9DF","rssi":-67,"rawData":"0201060303AAFE1116AAFE20000C330B0001F989550794447A"},{"timestamp":"2026-02-09T00:36:40.358Z","mac":"0BC8DA14CEAC","rssi":-82,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:40.613Z","mac":"C3000057B9D9","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFEF075D66A8"},{"timestamp":"2026-02-09T00:36:40.631Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:40.671Z","mac":"0BC8DA14CEAC","rssi":-82,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:40.702Z","mac":"C3000057B9F5","rssi":-58,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DB07BA77F8"},{"timestamp":"2026-02-09T00:36:40.733Z","mac":"F045AEE31DB4","rssi":-73,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:40.813Z","mac":"C7AE561E38B7","rssi":-75,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1103095336"},{"timestamp":"2026-02-09T00:36:40.871Z","mac":"C3000057B9F4","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C24100002089BA707BE439C"},{"timestamp":"2026-02-09T00:36:40.878Z","mac":"C300003946B1","rssi":-79,"rawData":"0201060303E1FF1116E1FFA10826B146390000C34D57423031"},{"timestamp":"2026-02-09T00:36:40.949Z","mac":"E6E749BA2D00","rssi":-76,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:40.988Z","mac":"C300003947C4","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33001152F84A0"},{"timestamp":"2026-02-09T00:36:41.070Z","mac":"C3000057B9DC","rssi":-61,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC2A0776BB8A"}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:40.090Z","type":"Gateway","mac":"AC233FC1DCCD","nums":5},{"timestamp":"2026-02-09T00:36:40.183Z","mac":"C3000057B9F1","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CC0106E55A50"},{"timestamp":"2026-02-09T00:36:40.200Z","mac":"C7AE561E38B7","rssi":-84,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1103095336"},{"timestamp":"2026-02-09T00:36:40.505Z","mac":"C7AE561E38B7","rssi":-85,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1103095336"},{"timestamp":"2026-02-09T00:36:40.810Z","mac":"C7AE561E38B7","rssi":-84,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1103095336"},{"timestamp":"2026-02-09T00:36:40.854Z","mac":"C3000057B9E6","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4A906F4FFFA"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:40.253Z","type":"Gateway","mac":"AC233FC1DCD3","nums":0}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:40.338Z","type":"Gateway","mac":"AC233FC1DD31","nums":6},{"timestamp":"2026-02-09T00:36:40.369Z","mac":"E017085443A7","rssi":-67,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:40.383Z","mac":"C3000057B9E7","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C40E0710B498"},{"timestamp":"2026-02-09T00:36:40.613Z","mac":"C3000057B9D9","rssi":-47,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFEF075D66A8"},{"timestamp":"2026-02-09T00:36:40.668Z","mac":"D920A4A6D237","rssi":-79,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:40.704Z","mac":"C3000057B9F5","rssi":-38,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DB07BA77F8"},{"timestamp":"2026-02-09T00:36:41.017Z","mac":"D54E908B7972","rssi":-78,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:40.191Z","type":"Gateway","mac":"AC233FC1DCD1","nums":16},{"timestamp":"2026-02-09T00:36:40.366Z","mac":"E017085443A7","rssi":-35,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:40.378Z","mac":"C3000057B9E7","rssi":-50,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C40E0710B498"},{"timestamp":"2026-02-09T00:36:40.383Z","mac":"C3000057B9E8","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F706F29E40"},{"timestamp":"2026-02-09T00:36:40.665Z","mac":"D920A4A6D237","rssi":-55,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:40.698Z","mac":"C3000057B9F5","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DB07BA77F8"},{"timestamp":"2026-02-09T00:36:40.728Z","mac":"F045AEE31DB4","rssi":-35,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:40.810Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1103095336"},{"timestamp":"2026-02-09T00:36:40.855Z","mac":"C3000057B9E6","rssi":-52,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4A906F4FFFA"},{"timestamp":"2026-02-09T00:36:40.869Z","mac":"C3000057B9F4","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C24100002089BA707BE439C"},{"timestamp":"2026-02-09T00:36:40.875Z","mac":"C300003946B1","rssi":-47,"rawData":"0201060303E1FF1116E1FFA10826B146390000C34D57423031"},{"timestamp":"2026-02-09T00:36:41.011Z","mac":"D54E908B7972","rssi":-58,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:41.017Z","mac":"C3000057B9D4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C540F0002000BA606BB32F2"},{"timestamp":"2026-02-09T00:36:41.064Z","mac":"C3000057B9DC","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC2A0776BB8A"},{"timestamp":"2026-02-09T00:36:41.120Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:41.128Z","mac":"C3000057B9DB","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2710000204664C07B0D45A"},{"timestamp":"2026-02-09T00:36:41.189Z","mac":"C3000057B9F1","rssi":-48,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CC0206E55A5A"}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:40.303Z","type":"Gateway","mac":"AC233FC1DCEE","nums":2},{"timestamp":"2026-02-09T00:36:40.366Z","mac":"E017085443A7","rssi":-78,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:41.018Z","mac":"C3000057B9D4","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C540F0002000BA606BB32F2"}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:40.711Z","type":"Gateway","mac":"AC233FC1DD51","nums":5},{"timestamp":"2026-02-09T00:36:40.811Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1103095336"},{"timestamp":"2026-02-09T00:36:40.870Z","mac":"C3000057B9F4","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C24100002089BA707BE439C"},{"timestamp":"2026-02-09T00:36:41.120Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:41.129Z","mac":"C3000057B9DB","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C2710000204664C07B0D45A"},{"timestamp":"2026-02-09T00:36:41.429Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:40.592Z","type":"Gateway","mac":"AC233FC1DD49","nums":2},{"timestamp":"2026-02-09T00:36:40.989Z","mac":"C300003947C4","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33001152F84A0"},{"timestamp":"2026-02-09T00:36:41.368Z","mac":"E017085443A7","rssi":-86,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:40.581Z","type":"Gateway","mac":"AC233FC1DD40","nums":0}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:40.586Z","type":"Gateway","mac":"AC233FC1DCCB","nums":6},{"timestamp":"2026-02-09T00:36:40.667Z","mac":"D920A4A6D237","rssi":-81,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:40.703Z","mac":"C3000057B9F5","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DB07BA77F8"},{"timestamp":"2026-02-09T00:36:40.733Z","mac":"F045AEE31DB4","rssi":-67,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:40.989Z","mac":"C300003947C4","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33001152F84A0"},{"timestamp":"2026-02-09T00:36:41.021Z","mac":"C3000057B9D4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C540F0002000BA606BB32F2"},{"timestamp":"2026-02-09T00:36:41.342Z","mac":"C3000057B9DF","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C330B0001F9895607944484"}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:40.516Z","type":"Gateway","mac":"AC233FC1DCD2","nums":18},{"timestamp":"2026-02-09T00:36:40.667Z","mac":"D920A4A6D237","rssi":-70,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:40.703Z","mac":"C3000057B9F5","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DB07BA77F8"},{"timestamp":"2026-02-09T00:36:40.732Z","mac":"F045AEE31DB4","rssi":-46,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:40.989Z","mac":"C300003947C4","rssi":-61,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33001152F84A0"},{"timestamp":"2026-02-09T00:36:41.016Z","mac":"D54E908B7972","rssi":-73,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:41.022Z","mac":"C3000057B9D4","rssi":-67,"rawData":"0201060303AAFE1116AAFE20000C540F0002000BA606BB32F2"},{"timestamp":"2026-02-09T00:36:41.070Z","mac":"C3000057B9DC","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC2A0776BB8A"},{"timestamp":"2026-02-09T00:36:41.122Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:41.131Z","mac":"C3000057B9DB","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C2710000204664C07B0D45A"},{"timestamp":"2026-02-09T00:36:41.192Z","mac":"C3000057B9F1","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CC0206E55A5A"},{"timestamp":"2026-02-09T00:36:41.217Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:41.342Z","mac":"C3000057B9DF","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C330B0001F9895607944484"},{"timestamp":"2026-02-09T00:36:41.368Z","mac":"E017085443A7","rssi":-50,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:41.389Z","mac":"C3000057B9E7","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C40F0710B4A2"},{"timestamp":"2026-02-09T00:36:41.396Z","mac":"C3000057B9E8","rssi":-64,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F806F29E4A"},{"timestamp":"2026-02-09T00:36:41.431Z","mac":"C7AE561E38B7","rssi":-78,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:41.432Z","mac":"C3000057B9DD","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82207922140"},{"timestamp":"2026-02-09T00:36:41.522Z","mac":"A0D05BD2E2E5","rssi":-80,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:40.739Z","type":"Gateway","mac":"AC233FC1DD3C","nums":6},{"timestamp":"2026-02-09T00:36:40.988Z","mac":"C300003947C4","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33001152F84A0"},{"timestamp":"2026-02-09T00:36:40.990Z","mac":"504C97555B00","rssi":-85,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:41.022Z","mac":"C3000057B9D4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C540F0002000BA606BB32F2"},{"timestamp":"2026-02-09T00:36:41.368Z","mac":"E017085443A7","rssi":-75,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:41.382Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:41.397Z","mac":"C3000057B9E8","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F806F29E4A"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:40.741Z","type":"Gateway","mac":"AC233FC1DD50","nums":2},{"timestamp":"2026-02-09T00:36:41.271Z","mac":"3868A460B93E","rssi":-81,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"},{"timestamp":"2026-02-09T00:36:41.579Z","mac":"3868A460B93E","rssi":-81,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:40.881Z","type":"Gateway","mac":"AC233FC1DD55","nums":8},{"timestamp":"2026-02-09T00:36:40.878Z","mac":"C300003946B1","rssi":-76,"rawData":"0201060303E1FF1116E1FFA10826B146390000C34D57423031"},{"timestamp":"2026-02-09T00:36:40.989Z","mac":"C300003947C4","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33001152F84A0"},{"timestamp":"2026-02-09T00:36:40.990Z","mac":"504C97555B00","rssi":-83,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:41.368Z","mac":"E017085443A7","rssi":-82,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:41.382Z","mac":"504C97555B00","rssi":-80,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:41.398Z","mac":"C3000057B9E8","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F806F29E4A"},{"timestamp":"2026-02-09T00:36:41.574Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:41.852Z","mac":"C3000057B9E6","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AA06F50004"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:40.901Z","type":"Gateway","mac":"AC233FC1DD4B","nums":1},{"timestamp":"2026-02-09T00:36:41.883Z","mac":"C3000057B9F4","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C24100002089BA807BE43A6"}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:40.903Z","type":"Gateway","mac":"AC233FC1DD48","nums":6},{"timestamp":"2026-02-09T00:36:41.122Z","mac":"C3000057B9DB","rssi":-85,"rawData":"0201060303AAFE1116AAFE20000C2710000204664C07B0D45A"},{"timestamp":"2026-02-09T00:36:41.424Z","mac":"C3000057B9DD","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82207922140"},{"timestamp":"2026-02-09T00:36:41.513Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:41.611Z","mac":"C3000057B9D9","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF0075D66B2"},{"timestamp":"2026-02-09T00:36:41.673Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:41.825Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:41.079Z","type":"Gateway","mac":"AC233FC1DD4E","nums":10},{"timestamp":"2026-02-09T00:36:41.256Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:41.563Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:41.618Z","mac":"0BC8DA14CEAC","rssi":-82,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:41.619Z","mac":"C3000057B9D9","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF0075D66B2"},{"timestamp":"2026-02-09T00:36:41.873Z","mac":"E6E749BA2D00","rssi":-76,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:41.881Z","mac":"C3000057B9F4","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C24100002089BA807BE43A6"},{"timestamp":"2026-02-09T00:36:41.887Z","mac":"C300003946AC","rssi":-79,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:41.923Z","mac":"0BC8DA14CEAC","rssi":-82,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:41.978Z","mac":"E6E749BA2D00","rssi":-83,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:42.046Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1303095336"}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:41.059Z","type":"Gateway","mac":"AC233FC1DCCD","nums":9},{"timestamp":"2026-02-09T00:36:41.128Z","mac":"C3000057B9DB","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2710000204664C07B0D45A"},{"timestamp":"2026-02-09T00:36:41.393Z","mac":"C3000057B9E8","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F806F29E4A"},{"timestamp":"2026-02-09T00:36:41.429Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:41.430Z","mac":"C3000057B9DD","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82207922140"},{"timestamp":"2026-02-09T00:36:41.708Z","mac":"C3000057B9F5","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DC07BA7802"},{"timestamp":"2026-02-09T00:36:41.734Z","mac":"F045AEE31DB4","rssi":-75,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:41.736Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:41.993Z","mac":"C300003947C4","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33002152F84AA"},{"timestamp":"2026-02-09T00:36:42.022Z","mac":"C3000057B9D4","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C540E0002000BA706BB32FC"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:41.253Z","type":"Gateway","mac":"AC233FC1DCD3","nums":1},{"timestamp":"2026-02-09T00:36:42.069Z","mac":"C3000057B9DC","rssi":-85,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC2B0776BB94"}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:41.197Z","type":"Gateway","mac":"AC233FC1DCD1","nums":6},{"timestamp":"2026-02-09T00:36:41.615Z","mac":"C3000057B9D9","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF0075D66B2"},{"timestamp":"2026-02-09T00:36:41.849Z","mac":"C3000057B9E6","rssi":-53,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AA06F50004"},{"timestamp":"2026-02-09T00:36:41.879Z","mac":"C3000057B9F4","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C24100002089BA807BE43A6"},{"timestamp":"2026-02-09T00:36:41.884Z","mac":"C300003946AC","rssi":-58,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:42.129Z","mac":"C3000057B9DB","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C2710000204664D07B0D464"},{"timestamp":"2026-02-09T00:36:42.201Z","mac":"C3000057B9F1","rssi":-48,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CC0306E55A64"}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:41.315Z","type":"Gateway","mac":"AC233FC1DD31","nums":3},{"timestamp":"2026-02-09T00:36:41.621Z","mac":"C3000057B9D9","rssi":-52,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF0075D66B2"},{"timestamp":"2026-02-09T00:36:41.883Z","mac":"C3000057B9F4","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C24100002089BA807BE43A6"},{"timestamp":"2026-02-09T00:36:42.132Z","mac":"C3000057B9DB","rssi":-55,"rawData":"0201060303AAFE1116AAFE20000C2710000204664D07B0D464"}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:41.322Z","type":"Gateway","mac":"AC233FC1DCEE","nums":1},{"timestamp":"2026-02-09T00:36:41.848Z","mac":"C3000057B9E6","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AA06F50004"}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:41.573Z","type":"Gateway","mac":"AC233FC1DD49","nums":1},{"timestamp":"2026-02-09T00:36:41.852Z","mac":"C3000057B9E6","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AA06F50004"}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:41.530Z","type":"Gateway","mac":"AC233FC1DCD2","nums":4},{"timestamp":"2026-02-09T00:36:41.620Z","mac":"C3000057B9D9","rssi":-63,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF0075D66B2"},{"timestamp":"2026-02-09T00:36:41.852Z","mac":"C3000057B9E6","rssi":-58,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AA06F50004"},{"timestamp":"2026-02-09T00:36:41.881Z","mac":"C3000057B9F4","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C24100002089BA807BE43A6"},{"timestamp":"2026-02-09T00:36:42.205Z","mac":"C3000057B9F1","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CC0306E55A64"}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:41.545Z","type":"Gateway","mac":"AC233FC1DCCB","nums":5},{"timestamp":"2026-02-09T00:36:41.620Z","mac":"C3000057B9D9","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF0075D66B2"},{"timestamp":"2026-02-09T00:36:41.852Z","mac":"C3000057B9E6","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AA06F50004"},{"timestamp":"2026-02-09T00:36:41.882Z","mac":"C3000057B9F4","rssi":-67,"rawData":"0201060303AAFE1116AAFE20000C24100002089BA807BE43A6"},{"timestamp":"2026-02-09T00:36:41.887Z","mac":"C300003946AC","rssi":-73,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:42.204Z","mac":"C3000057B9F1","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CC0306E55A64"}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:41.580Z","type":"Gateway","mac":"AC233FC1DD40","nums":2},{"timestamp":"2026-02-09T00:36:41.874Z","mac":"C3000057B9F4","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C24100002089BA807BE43A6"},{"timestamp":"2026-02-09T00:36:42.124Z","mac":"C3000057B9DB","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2710000204664D07B0D464"}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:41.632Z","type":"Gateway","mac":"AC233FC1DD51","nums":5},{"timestamp":"2026-02-09T00:36:41.735Z","mac":"F045AEE31DB4","rssi":-79,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:41.737Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:42.044Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1303095336"},{"timestamp":"2026-02-09T00:36:42.352Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1303095336"},{"timestamp":"2026-02-09T00:36:42.353Z","mac":"C3000057B9DF","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C330B0001F989570794448E"}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:41.696Z","type":"Gateway","mac":"AC233FC1DD3C","nums":4},{"timestamp":"2026-02-09T00:36:41.852Z","mac":"C3000057B9E6","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AA06F50004"},{"timestamp":"2026-02-09T00:36:41.965Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:42.552Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:42.732Z","mac":"F045AEE31DB4","rssi":-82,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:41.780Z","type":"Gateway","mac":"AC233FC1DD50","nums":1},{"timestamp":"2026-02-09T00:36:42.068Z","mac":"C3000057B9DC","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC2B0776BB94"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:41.858Z","type":"Gateway","mac":"AC233FC1DD55","nums":5},{"timestamp":"2026-02-09T00:36:41.882Z","mac":"C3000057B9F4","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C24100002089BA807BE43A6"},{"timestamp":"2026-02-09T00:36:42.159Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:42.203Z","mac":"C3000057B9F1","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CC0306E55A64"},{"timestamp":"2026-02-09T00:36:42.552Z","mac":"504C97555B00","rssi":-80,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:42.749Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:41.890Z","type":"Gateway","mac":"AC233FC1DD4B","nums":4},{"timestamp":"2026-02-09T00:36:41.888Z","mac":"C300003946AC","rssi":-79,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:42.133Z","mac":"C3000057B9DB","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C2710000204664D07B0D464"},{"timestamp":"2026-02-09T00:36:42.447Z","mac":"C3000057B9DD","rssi":-70,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C8230792214A"},{"timestamp":"2026-02-09T00:36:42.861Z","mac":"C3000057B9E6","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AB06F5000E"}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:42.028Z","type":"Gateway","mac":"AC233FC1DCCD","nums":7},{"timestamp":"2026-02-09T00:36:42.068Z","mac":"C3000057B9DC","rssi":-66,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC2B0776BB94"},{"timestamp":"2026-02-09T00:36:42.363Z","mac":"E017085443A7","rssi":-79,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:42.393Z","mac":"C3000057B9E8","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6F906F29E54"},{"timestamp":"2026-02-09T00:36:42.397Z","mac":"C3000057B9E7","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4100710B4AC"},{"timestamp":"2026-02-09T00:36:42.628Z","mac":"C3000057B9D9","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF1075D66BC"},{"timestamp":"2026-02-09T00:36:42.657Z","mac":"C7AE561E38B7","rssi":-84,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1303095336"},{"timestamp":"2026-02-09T00:36:43.015Z","mac":"D54E908B7972","rssi":-83,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:41.931Z","type":"Gateway","mac":"AC233FC1DD48","nums":3},{"timestamp":"2026-02-09T00:36:42.346Z","mac":"C3000057B9DF","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C330B0001F989570794448E"},{"timestamp":"2026-02-09T00:36:42.714Z","mac":"C3000057B9F5","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DD07BA780C"},{"timestamp":"2026-02-09T00:36:42.909Z","mac":"A0D05BD2E2E5","rssi":-80,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:42.174Z","type":"Gateway","mac":"AC233FC1DCD3","nums":1},{"timestamp":"2026-02-09T00:36:43.068Z","mac":"C3000057B9DC","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC2C0776BB9E"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:42.053Z","type":"Gateway","mac":"AC233FC1DD4E","nums":11},{"timestamp":"2026-02-09T00:36:42.132Z","mac":"C3000057B9DB","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C2710000204664D07B0D464"},{"timestamp":"2026-02-09T00:36:42.181Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:42.203Z","mac":"C3000057B9F1","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CC0306E55A64"},{"timestamp":"2026-02-09T00:36:42.441Z","mac":"0BC8DA14CEAC","rssi":-82,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:42.446Z","mac":"C3000057B9DD","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C8230792214A"},{"timestamp":"2026-02-09T00:36:42.491Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:42.632Z","mac":"C3000057B9D9","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF1075D66BC"},{"timestamp":"2026-02-09T00:36:42.660Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1303095336"},{"timestamp":"2026-02-09T00:36:42.723Z","mac":"C3000057B9F5","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DD07BA780C"},{"timestamp":"2026-02-09T00:36:42.801Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:43.070Z","mac":"C3000057B9DC","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC2C0776BB9E"}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:42.207Z","type":"Gateway","mac":"AC233FC1DCD1","nums":3},{"timestamp":"2026-02-09T00:36:42.858Z","mac":"C3000057B9E6","rssi":-50,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AB06F5000E"},{"timestamp":"2026-02-09T00:36:43.139Z","mac":"C3000057B9DB","rssi":-70,"rawData":"0201060303AAFE1116AAFE20000C2710000204664E07B0D46E"},{"timestamp":"2026-02-09T00:36:43.209Z","mac":"C3000057B9F1","rssi":-44,"rawData":"0201060303AAFE1116AAFE20000C33120001E7CC0406E55A6E"}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:42.335Z","type":"Gateway","mac":"AC233FC1DD31","nums":4},{"timestamp":"2026-02-09T00:36:42.447Z","mac":"C3000057B9DD","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C8230792214A"},{"timestamp":"2026-02-09T00:36:42.861Z","mac":"C3000057B9E6","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AB06F5000E"},{"timestamp":"2026-02-09T00:36:43.071Z","mac":"C3000057B9DC","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC2C0776BB9E"},{"timestamp":"2026-02-09T00:36:43.145Z","mac":"C3000057B9DB","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2710000204664E07B0D46E"}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:42.353Z","type":"Gateway","mac":"AC233FC1DCEE","nums":0}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:42.500Z","type":"Gateway","mac":"AC233FC1DCD2","nums":7},{"timestamp":"2026-02-09T00:36:42.863Z","mac":"C3000057B9E6","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AB06F5000E"},{"timestamp":"2026-02-09T00:36:42.877Z","mac":"C3000057B9F4","rssi":-62,"rawData":"0201060303AAFE1116AAFE20000C24100002089BA907BE43B0"},{"timestamp":"2026-02-09T00:36:43.145Z","mac":"C3000057B9DB","rssi":-58,"rawData":"0201060303AAFE1116AAFE20000C2710000204664E07B0D46E"},{"timestamp":"2026-02-09T00:36:43.396Z","mac":"C3000057B9E8","rssi":-62,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FA06F29E5E"},{"timestamp":"2026-02-09T00:36:43.397Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:43.408Z","mac":"C3000057B9E7","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4110710B4B6"},{"timestamp":"2026-02-09T00:36:43.447Z","mac":"C3000057B9DD","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82407922154"}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:42.622Z","type":"Gateway","mac":"AC233FC1DD40","nums":2},{"timestamp":"2026-02-09T00:36:43.062Z","mac":"C3000057B9DC","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC2C0776BB9E"},{"timestamp":"2026-02-09T00:36:43.363Z","mac":"E017085443A7","rssi":-81,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:42.553Z","type":"Gateway","mac":"AC233FC1DD49","nums":1},{"timestamp":"2026-02-09T00:36:43.396Z","mac":"C3000057B9E8","rssi":-85,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FA06F29E5E"}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:42.505Z","type":"Gateway","mac":"AC233FC1DCCB","nums":3},{"timestamp":"2026-02-09T00:36:42.877Z","mac":"C3000057B9F4","rssi":-66,"rawData":"0201060303AAFE1116AAFE20000C24100002089BA907BE43B0"},{"timestamp":"2026-02-09T00:36:43.144Z","mac":"C3000057B9DB","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C2710000204664E07B0D46E"},{"timestamp":"2026-02-09T00:36:43.396Z","mac":"C3000057B9E8","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FA06F29E5E"}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:42.651Z","type":"Gateway","mac":"AC233FC1DD51","nums":5},{"timestamp":"2026-02-09T00:36:42.658Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1303095336"},{"timestamp":"2026-02-09T00:36:42.968Z","mac":"C7AE561E38B7","rssi":-81,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:43.274Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:43.578Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:43.638Z","mac":"C3000057B9D9","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF2075D66C6"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:42.771Z","type":"Gateway","mac":"AC233FC1DD50","nums":0}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:42.739Z","type":"Gateway","mac":"AC233FC1DD3C","nums":5},{"timestamp":"2026-02-09T00:36:43.147Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:43.396Z","mac":"C3000057B9E8","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FA06F29E5E"},{"timestamp":"2026-02-09T00:36:43.408Z","mac":"C3000057B9E7","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4110710B4B6"},{"timestamp":"2026-02-09T00:36:43.530Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:43.685Z","mac":"D920A4A6D237","rssi":-80,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:42.847Z","type":"Gateway","mac":"AC233FC1DD55","nums":5},{"timestamp":"2026-02-09T00:36:42.863Z","mac":"C3000057B9E6","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AB06F5000E"},{"timestamp":"2026-02-09T00:36:43.370Z","mac":"E017085443A7","rssi":-72,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:43.396Z","mac":"C3000057B9E8","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FA06F29E5E"},{"timestamp":"2026-02-09T00:36:43.734Z","mac":"F045AEE31DB4","rssi":-79,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:43.856Z","mac":"C3000057B9E6","rssi":-87,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AC06F50018"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:42.961Z","type":"Gateway","mac":"AC233FC1DD4B","nums":5},{"timestamp":"2026-02-09T00:36:43.071Z","mac":"C3000057B9DC","rssi":-63,"rawData":"0201060303AAFE1116AAFE20000C27100001F0BC2C0776BB9E"},{"timestamp":"2026-02-09T00:36:43.370Z","mac":"C3000057B9DF","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895807944498"},{"timestamp":"2026-02-09T00:36:43.448Z","mac":"C3000057B9DD","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82407922154"},{"timestamp":"2026-02-09T00:36:43.686Z","mac":"D920A4A6D237","rssi":-78,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:43.734Z","mac":"F045AEE31DB4","rssi":-73,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:42.915Z","type":"Gateway","mac":"AC233FC1DD48","nums":2},{"timestamp":"2026-02-09T00:36:43.529Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:43.872Z","mac":"C3000057B9F4","rssi":-84,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAA07BE43BA"}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:43.022Z","type":"Gateway","mac":"AC233FC1DCCD","nums":6},{"timestamp":"2026-02-09T00:36:43.032Z","mac":"C3000057B9D4","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C540F0002000BA806BB3306"},{"timestamp":"2026-02-09T00:36:43.274Z","mac":"C7AE561E38B7","rssi":-84,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:43.854Z","mac":"C3000057B9E6","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AC06F50018"},{"timestamp":"2026-02-09T00:36:43.878Z","mac":"C3000057B9F4","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAA07BE43BA"},{"timestamp":"2026-02-09T00:36:43.884Z","mac":"C300003946AC","rssi":-74,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:43.886Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:43.077Z","type":"Gateway","mac":"AC233FC1DD4E","nums":14},{"timestamp":"2026-02-09T00:36:43.081Z","mac":"0BC8DA14CEAC","rssi":-82,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:43.113Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:43.143Z","mac":"C3000057B9DB","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C2710000204664E07B0D46E"},{"timestamp":"2026-02-09T00:36:43.368Z","mac":"C3000057B9DF","rssi":-67,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895807944498"},{"timestamp":"2026-02-09T00:36:43.392Z","mac":"0BC8DA14CEAC","rssi":-82,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:43.436Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:43.446Z","mac":"C3000057B9DD","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82407922154"},{"timestamp":"2026-02-09T00:36:43.704Z","mac":"0BC8DA14CEAC","rssi":-81,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:43.733Z","mac":"C3000057B9F5","rssi":-58,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DE07BA7816"},{"timestamp":"2026-02-09T00:36:43.881Z","mac":"C3000057B9F4","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAA07BE43BA"},{"timestamp":"2026-02-09T00:36:43.886Z","mac":"C300003946AC","rssi":-83,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:43.889Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:43.967Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:44.016Z","mac":"C300003947C4","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33004152F84BE"}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:43.215Z","type":"Gateway","mac":"AC233FC1DCD1","nums":15},{"timestamp":"2026-02-09T00:36:43.368Z","mac":"E017085443A7","rssi":-37,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:43.393Z","mac":"C3000057B9E8","rssi":-64,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FA06F29E5E"},{"timestamp":"2026-02-09T00:36:43.405Z","mac":"C3000057B9E7","rssi":-57,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4110710B4B6"},{"timestamp":"2026-02-09T00:36:43.683Z","mac":"D920A4A6D237","rssi":-55,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:43.729Z","mac":"F045AEE31DB4","rssi":-36,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:43.854Z","mac":"C3000057B9E6","rssi":-51,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AC06F50018"},{"timestamp":"2026-02-09T00:36:43.879Z","mac":"C3000057B9F4","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAA07BE43BA"},{"timestamp":"2026-02-09T00:36:43.884Z","mac":"C300003946AC","rssi":-62,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:43.887Z","mac":"C7AE561E38B7","rssi":-71,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:44.014Z","mac":"C300003947C4","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33004152F84BE"},{"timestamp":"2026-02-09T00:36:44.021Z","mac":"D54E908B7972","rssi":-59,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:44.033Z","mac":"C3000057B9D4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BA906BB3310"},{"timestamp":"2026-02-09T00:36:44.071Z","mac":"C3000057B9DC","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC2D0776BBA8"},{"timestamp":"2026-02-09T00:36:44.152Z","mac":"C3000057B9DB","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2710000204664F07B0D478"},{"timestamp":"2026-02-09T00:36:44.187Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1503095336"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:43.173Z","type":"Gateway","mac":"AC233FC1DCD3","nums":0}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:43.345Z","type":"Gateway","mac":"AC233FC1DD31","nums":11},{"timestamp":"2026-02-09T00:36:43.369Z","mac":"C3000057B9DF","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895807944498"},{"timestamp":"2026-02-09T00:36:43.371Z","mac":"E017085443A7","rssi":-67,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:43.397Z","mac":"C3000057B9E8","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FA06F29E5E"},{"timestamp":"2026-02-09T00:36:43.409Z","mac":"C3000057B9E7","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4110710B4B6"},{"timestamp":"2026-02-09T00:36:43.447Z","mac":"C3000057B9DD","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82407922154"},{"timestamp":"2026-02-09T00:36:43.686Z","mac":"D920A4A6D237","rssi":-79,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:43.734Z","mac":"F045AEE31DB4","rssi":-65,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:44.024Z","mac":"D54E908B7972","rssi":-78,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:44.038Z","mac":"C3000057B9D4","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BA906BB3310"},{"timestamp":"2026-02-09T00:36:44.075Z","mac":"C3000057B9DC","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC2D0776BBA8"},{"timestamp":"2026-02-09T00:36:44.369Z","mac":"E017085443A7","rssi":-67,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:43.353Z","type":"Gateway","mac":"AC233FC1DCEE","nums":1},{"timestamp":"2026-02-09T00:36:44.035Z","mac":"C3000057B9D4","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BA906BB3310"}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:43.551Z","type":"Gateway","mac":"AC233FC1DCD2","nums":20},{"timestamp":"2026-02-09T00:36:43.692Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:43.698Z","mac":"E43883D93326","rssi":-85,"rawData":"1106B93D2E1D72D12592F94FD44ACDC5392109162A25E43883D93324"},{"timestamp":"2026-02-09T00:36:43.734Z","mac":"F045AEE31DB4","rssi":-46,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:44.007Z","mac":"A0D05BD2E2E5","rssi":-80,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:44.016Z","mac":"C300003947C4","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33004152F84BE"},{"timestamp":"2026-02-09T00:36:44.024Z","mac":"D54E908B7972","rssi":-74,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:44.038Z","mac":"C3000057B9D4","rssi":-67,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BA906BB3310"},{"timestamp":"2026-02-09T00:36:44.076Z","mac":"C3000057B9DC","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC2D0776BBA8"},{"timestamp":"2026-02-09T00:36:44.155Z","mac":"C3000057B9DB","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C2710000204664F07B0D478"},{"timestamp":"2026-02-09T00:36:44.165Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:44.189Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1503095336"},{"timestamp":"2026-02-09T00:36:44.220Z","mac":"C3000057B9F1","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0506E55A78"},{"timestamp":"2026-02-09T00:36:44.316Z","mac":"A0D05BD2E2E5","rssi":-80,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:44.369Z","mac":"E017085443A7","rssi":-50,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:44.381Z","mac":"C3000057B9DF","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F98959079444A2"},{"timestamp":"2026-02-09T00:36:44.397Z","mac":"C3000057B9E8","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FB06F29E68"},{"timestamp":"2026-02-09T00:36:44.418Z","mac":"C3000057B9E7","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4120710B4C0"},{"timestamp":"2026-02-09T00:36:44.454Z","mac":"C3000057B9DD","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C8250792215E"},{"timestamp":"2026-02-09T00:36:44.472Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:44.495Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1503095336"}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:43.593Z","type":"Gateway","mac":"AC233FC1DD49","nums":1},{"timestamp":"2026-02-09T00:36:44.017Z","mac":"C300003947C4","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33004152F84BE"}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:43.561Z","type":"Gateway","mac":"AC233FC1DD40","nums":2},{"timestamp":"2026-02-09T00:36:44.069Z","mac":"C3000057B9DC","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC2D0776BBA8"},{"timestamp":"2026-02-09T00:36:44.147Z","mac":"C3000057B9DB","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C2710000204664F07B0D478"}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:43.596Z","type":"Gateway","mac":"AC233FC1DCCB","nums":5},{"timestamp":"2026-02-09T00:36:44.023Z","mac":"D54E908B7972","rssi":-82,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:44.037Z","mac":"C3000057B9D4","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BA906BB3310"},{"timestamp":"2026-02-09T00:36:44.076Z","mac":"C3000057B9DC","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC2D0776BBA8"},{"timestamp":"2026-02-09T00:36:44.368Z","mac":"E017085443A7","rssi":-68,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:44.381Z","mac":"C3000057B9DF","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F98959079444A2"}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:43.643Z","type":"Gateway","mac":"AC233FC1DD51","nums":5},{"timestamp":"2026-02-09T00:36:43.879Z","mac":"C3000057B9F4","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAA07BE43BA"},{"timestamp":"2026-02-09T00:36:43.887Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:44.153Z","mac":"C3000057B9DB","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C2710000204664F07B0D478"},{"timestamp":"2026-02-09T00:36:44.187Z","mac":"C7AE561E38B7","rssi":-81,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1503095336"},{"timestamp":"2026-02-09T00:36:44.493Z","mac":"C7AE561E38B7","rssi":-81,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1503095336"}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:43.691Z","type":"Gateway","mac":"AC233FC1DD3C","nums":8},{"timestamp":"2026-02-09T00:36:43.726Z","mac":"504C97555B00","rssi":-84,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:44.017Z","mac":"C300003947C4","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33004152F84BE"},{"timestamp":"2026-02-09T00:36:44.037Z","mac":"C3000057B9D4","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BA906BB3310"},{"timestamp":"2026-02-09T00:36:44.313Z","mac":"504C97555B00","rssi":-84,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:44.369Z","mac":"E017085443A7","rssi":-75,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:44.397Z","mac":"C3000057B9E8","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FB06F29E68"},{"timestamp":"2026-02-09T00:36:44.503Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:44.691Z","mac":"D920A4A6D237","rssi":-82,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:43.863Z","type":"Gateway","mac":"AC233FC1DD55","nums":8},{"timestamp":"2026-02-09T00:36:44.017Z","mac":"C300003947C4","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33004152F84BE"},{"timestamp":"2026-02-09T00:36:44.037Z","mac":"C3000057B9D4","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BA906BB3310"},{"timestamp":"2026-02-09T00:36:44.313Z","mac":"504C97555B00","rssi":-81,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:44.369Z","mac":"E017085443A7","rssi":-82,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:44.397Z","mac":"C3000057B9E8","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FB06F29E68"},{"timestamp":"2026-02-09T00:36:44.698Z","mac":"504C97555B00","rssi":-80,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:44.736Z","mac":"F045AEE31DB4","rssi":-77,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:44.861Z","mac":"C3000057B9E6","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AD06F50022"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:43.770Z","type":"Gateway","mac":"AC233FC1DD50","nums":0}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:43.970Z","type":"Gateway","mac":"AC233FC1DD48","nums":4},{"timestamp":"2026-02-09T00:36:44.616Z","mac":"A0D05BD2E2E5","rssi":-80,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:44.636Z","mac":"C3000057B9D9","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFF3075D66D0"},{"timestamp":"2026-02-09T00:36:44.766Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:44.924Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:43.931Z","type":"Gateway","mac":"AC233FC1DD4B","nums":5},{"timestamp":"2026-02-09T00:36:44.038Z","mac":"C3000057B9D4","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BA906BB3310"},{"timestamp":"2026-02-09T00:36:44.074Z","mac":"C3000057B9DC","rssi":-55,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC2D0776BBA8"},{"timestamp":"2026-02-09T00:36:44.368Z","mac":"E017085443A7","rssi":-74,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:44.379Z","mac":"C3000057B9DF","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F98959079444A2"},{"timestamp":"2026-02-09T00:36:44.646Z","mac":"C3000057B9D9","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFF3075D66D0"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:44.026Z","type":"Gateway","mac":"AC233FC1DD4E","nums":14},{"timestamp":"2026-02-09T00:36:44.022Z","mac":"0BC8DA14CEAC","rssi":-82,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:44.076Z","mac":"C3000057B9DC","rssi":-61,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC2D0776BBA8"},{"timestamp":"2026-02-09T00:36:44.279Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:44.337Z","mac":"0BC8DA14CEAC","rssi":-81,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:44.381Z","mac":"C3000057B9DF","rssi":-63,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F98959079444A2"},{"timestamp":"2026-02-09T00:36:44.593Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:44.645Z","mac":"C3000057B9D9","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFF3075D66D0"},{"timestamp":"2026-02-09T00:36:44.651Z","mac":"0BC8DA14CEAC","rssi":-82,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:44.736Z","mac":"F045AEE31DB4","rssi":-74,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:44.742Z","mac":"C3000057B9F5","rssi":-64,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DF07BA7820"},{"timestamp":"2026-02-09T00:36:44.800Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1503095336"},{"timestamp":"2026-02-09T00:36:44.880Z","mac":"C3000057B9F4","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAB07BE43C4"},{"timestamp":"2026-02-09T00:36:44.902Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:44.960Z","mac":"0BC8DA14CEAC","rssi":-82,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:44.173Z","type":"Gateway","mac":"AC233FC1DCD3","nums":0}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:44.090Z","type":"Gateway","mac":"AC233FC1DCCD","nums":9},{"timestamp":"2026-02-09T00:36:44.152Z","mac":"C3000057B9DB","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C2710000204664F07B0D478"},{"timestamp":"2026-02-09T00:36:44.187Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1503095336"},{"timestamp":"2026-02-09T00:36:44.217Z","mac":"C3000057B9F1","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0506E55A78"},{"timestamp":"2026-02-09T00:36:44.452Z","mac":"C3000057B9DD","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C8250792215E"},{"timestamp":"2026-02-09T00:36:44.492Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1503095336"},{"timestamp":"2026-02-09T00:36:44.798Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1503095336"},{"timestamp":"2026-02-09T00:36:44.859Z","mac":"C3000057B9E6","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AD06F50022"},{"timestamp":"2026-02-09T00:36:44.877Z","mac":"C3000057B9F4","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAB07BE43C4"},{"timestamp":"2026-02-09T00:36:45.071Z","mac":"C3000057B9DC","rssi":-67,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC2E0776BBB2"}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:44.196Z","type":"Gateway","mac":"AC233FC1DCD1","nums":16},{"timestamp":"2026-02-09T00:36:44.364Z","mac":"E017085443A7","rssi":-43,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:44.375Z","mac":"C3000057B9DF","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F98959079444A2"},{"timestamp":"2026-02-09T00:36:44.391Z","mac":"C3000057B9E8","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FB06F29E68"},{"timestamp":"2026-02-09T00:36:44.686Z","mac":"D920A4A6D237","rssi":-54,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:44.731Z","mac":"F045AEE31DB4","rssi":-36,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:44.737Z","mac":"C3000057B9F5","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1DF07BA7820"},{"timestamp":"2026-02-09T00:36:44.798Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1503095336"},{"timestamp":"2026-02-09T00:36:44.859Z","mac":"C3000057B9E6","rssi":-52,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AD06F50022"},{"timestamp":"2026-02-09T00:36:44.877Z","mac":"C3000057B9F4","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAB07BE43C4"},{"timestamp":"2026-02-09T00:36:44.883Z","mac":"C300003946B1","rssi":-46,"rawData":"0201060303E1FF1116E1FFA10826B146390000C34D57423031"},{"timestamp":"2026-02-09T00:36:45.029Z","mac":"D54E908B7972","rssi":-58,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:45.041Z","mac":"C3000057B9D4","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BAA06BB331A"},{"timestamp":"2026-02-09T00:36:45.071Z","mac":"C3000057B9DC","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC2E0776BBB2"},{"timestamp":"2026-02-09T00:36:45.104Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:45.162Z","mac":"C3000057B9DB","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C2710000204665007B0D482"},{"timestamp":"2026-02-09T00:36:45.221Z","mac":"C3000057B9F1","rssi":-48,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0606E55A82"}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:44.332Z","type":"Gateway","mac":"AC233FC1DCEE","nums":2},{"timestamp":"2026-02-09T00:36:44.365Z","mac":"E017085443A7","rssi":-77,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:45.016Z","mac":"C300003947C4","rssi":-84,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33005152F84C8"}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:44.376Z","type":"Gateway","mac":"AC233FC1DD31","nums":4},{"timestamp":"2026-02-09T00:36:44.379Z","mac":"C3000057B9DF","rssi":-66,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F98959079444A2"},{"timestamp":"2026-02-09T00:36:44.395Z","mac":"C3000057B9E8","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FB06F29E68"},{"timestamp":"2026-02-09T00:36:44.646Z","mac":"C3000057B9D9","rssi":-51,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFF3075D66D0"},{"timestamp":"2026-02-09T00:36:44.689Z","mac":"D920A4A6D237","rssi":-84,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:44.513Z","type":"Gateway","mac":"AC233FC1DD49","nums":0}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:44.552Z","type":"Gateway","mac":"AC233FC1DD40","nums":1},{"timestamp":"2026-02-09T00:36:45.066Z","mac":"C3000057B9DC","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC2E0776BBB2"}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:44.586Z","type":"Gateway","mac":"AC233FC1DCCB","nums":2},{"timestamp":"2026-02-09T00:36:44.645Z","mac":"C3000057B9D9","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFF3075D66D0"},{"timestamp":"2026-02-09T00:36:45.034Z","mac":"D54E908B7972","rssi":-74,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:44.507Z","type":"Gateway","mac":"AC233FC1DCD2","nums":11},{"timestamp":"2026-02-09T00:36:44.617Z","mac":"E43883D93326","rssi":-84,"rawData":"1106B93D2E1D72D12592F94FD44ACDC5392109162A25E43883D93324"},{"timestamp":"2026-02-09T00:36:44.624Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:44.646Z","mac":"C3000057B9D9","rssi":-63,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFF3075D66D0"},{"timestamp":"2026-02-09T00:36:44.691Z","mac":"D920A4A6D237","rssi":-67,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:45.021Z","mac":"C300003947C4","rssi":-61,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33005152F84C8"},{"timestamp":"2026-02-09T00:36:45.034Z","mac":"D54E908B7972","rssi":-74,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:45.073Z","mac":"C3000057B9DC","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC2E0776BBB2"},{"timestamp":"2026-02-09T00:36:45.084Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:45.106Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:45.164Z","mac":"C3000057B9DB","rssi":-52,"rawData":"0201060303AAFE1116AAFE20000C2710000204665007B0D482"},{"timestamp":"2026-02-09T00:36:45.223Z","mac":"C3000057B9F1","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0606E55A82"}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:44.699Z","type":"Gateway","mac":"AC233FC1DD3C","nums":3},{"timestamp":"2026-02-09T00:36:44.698Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:45.289Z","mac":"504C97555B00","rssi":-77,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:45.673Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:44.692Z","type":"Gateway","mac":"AC233FC1DD51","nums":6},{"timestamp":"2026-02-09T00:36:44.798Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1503095336"},{"timestamp":"2026-02-09T00:36:45.072Z","mac":"C3000057B9DC","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC2E0776BBB2"},{"timestamp":"2026-02-09T00:36:45.104Z","mac":"C7AE561E38B7","rssi":-81,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:45.162Z","mac":"C3000057B9DB","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2710000204665007B0D482"},{"timestamp":"2026-02-09T00:36:45.400Z","mac":"C3000057B9DF","rssi":-84,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895A079444AC"},{"timestamp":"2026-02-09T00:36:45.408Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:44.770Z","type":"Gateway","mac":"AC233FC1DD50","nums":0}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:44.868Z","type":"Gateway","mac":"AC233FC1DD55","nums":5},{"timestamp":"2026-02-09T00:36:44.896Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:45.224Z","mac":"C3000057B9F1","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0606E55A82"},{"timestamp":"2026-02-09T00:36:45.289Z","mac":"504C97555B00","rssi":-80,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:45.732Z","mac":"F045AEE31DB4","rssi":-75,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:45.751Z","mac":"C3000057B9F5","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1E007BA782A"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:44.950Z","type":"Gateway","mac":"AC233FC1DD4B","nums":1},{"timestamp":"2026-02-09T00:36:45.890Z","mac":"C300003946AC","rssi":-71,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:44.930Z","type":"Gateway","mac":"AC233FC1DD48","nums":6},{"timestamp":"2026-02-09T00:36:45.075Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:45.393Z","mac":"C3000057B9DF","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895A079444AC"},{"timestamp":"2026-02-09T00:36:45.547Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:45.702Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:45.742Z","mac":"C3000057B9F5","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1E007BA782A"},{"timestamp":"2026-02-09T00:36:45.860Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:45.067Z","type":"Gateway","mac":"AC233FC1DD4E","nums":9},{"timestamp":"2026-02-09T00:36:45.215Z","mac":"E6E749BA2D00","rssi":-76,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:45.223Z","mac":"C3000057B9F1","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0606E55A82"},{"timestamp":"2026-02-09T00:36:45.269Z","mac":"0BC8DA14CEAC","rssi":-82,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:45.530Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:45.583Z","mac":"0BC8DA14CEAC","rssi":-81,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:45.845Z","mac":"E6E749BA2D00","rssi":-76,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:45.886Z","mac":"C3000057B9F4","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAC07BE43CE"},{"timestamp":"2026-02-09T00:36:45.891Z","mac":"C300003946AC","rssi":-80,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:46.014Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1703095336"}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:45.077Z","type":"Gateway","mac":"AC233FC1DCCD","nums":8},{"timestamp":"2026-02-09T00:36:45.161Z","mac":"C3000057B9DB","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2710000204665007B0D482"},{"timestamp":"2026-02-09T00:36:45.396Z","mac":"C3000057B9E8","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FC06F29E72"},{"timestamp":"2026-02-09T00:36:45.408Z","mac":"C7AE561E38B7","rssi":-84,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:45.424Z","mac":"C3000057B9E7","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4130710B4CA"},{"timestamp":"2026-02-09T00:36:45.461Z","mac":"C3000057B9DD","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82607922168"},{"timestamp":"2026-02-09T00:36:45.729Z","mac":"F045AEE31DB4","rssi":-76,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:45.748Z","mac":"C3000057B9F5","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1E007BA782A"},{"timestamp":"2026-02-09T00:36:46.027Z","mac":"C300003947C4","rssi":-85,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33006152F84D2"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:45.173Z","type":"Gateway","mac":"AC233FC1DCD3","nums":0}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:45.229Z","type":"Gateway","mac":"AC233FC1DCD1","nums":8},{"timestamp":"2026-02-09T00:36:45.862Z","mac":"C3000057B9E6","rssi":-50,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AE06F5002C"},{"timestamp":"2026-02-09T00:36:45.881Z","mac":"C3000057B9F4","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAC07BE43CE"},{"timestamp":"2026-02-09T00:36:45.886Z","mac":"C300003946AC","rssi":-78,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:46.012Z","mac":"C7AE561E38B7","rssi":-71,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1703095336"},{"timestamp":"2026-02-09T00:36:46.027Z","mac":"C300003947C4","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33006152F84D2"},{"timestamp":"2026-02-09T00:36:46.033Z","mac":"D54E908B7972","rssi":-58,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:46.056Z","mac":"C3000057B9D4","rssi":-54,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BAB06BB3324"},{"timestamp":"2026-02-09T00:36:46.232Z","mac":"C3000057B9F1","rssi":-44,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0706E55A8C"}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:45.395Z","type":"Gateway","mac":"AC233FC1DD31","nums":3},{"timestamp":"2026-02-09T00:36:45.887Z","mac":"C3000057B9F4","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAC07BE43CE"},{"timestamp":"2026-02-09T00:36:46.169Z","mac":"C3000057B9DB","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2710000204665107B0D48C"},{"timestamp":"2026-02-09T00:36:46.236Z","mac":"C3000057B9F1","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0706E55A8C"}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:45.313Z","type":"Gateway","mac":"AC233FC1DCEE","nums":2},{"timestamp":"2026-02-09T00:36:46.027Z","mac":"C300003947C4","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33006152F84D2"},{"timestamp":"2026-02-09T00:36:46.055Z","mac":"C3000057B9D4","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BAB06BB3324"}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:45.571Z","type":"Gateway","mac":"AC233FC1DD40","nums":1},{"timestamp":"2026-02-09T00:36:46.356Z","mac":"E017085443A7","rssi":-81,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:45.535Z","type":"Gateway","mac":"AC233FC1DCCB","nums":5},{"timestamp":"2026-02-09T00:36:45.866Z","mac":"C3000057B9E6","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AE06F5002C"},{"timestamp":"2026-02-09T00:36:45.886Z","mac":"C3000057B9F4","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAC07BE43CE"},{"timestamp":"2026-02-09T00:36:45.890Z","mac":"C300003946AC","rssi":-73,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:46.168Z","mac":"C3000057B9DB","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2710000204665107B0D48C"},{"timestamp":"2026-02-09T00:36:46.238Z","mac":"C3000057B9F1","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0706E55A8C"}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:45.522Z","type":"Gateway","mac":"AC233FC1DCD2","nums":12},{"timestamp":"2026-02-09T00:36:45.652Z","mac":"C3000057B9D9","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF4075D66DA"},{"timestamp":"2026-02-09T00:36:45.867Z","mac":"C3000057B9E6","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AE06F5002C"},{"timestamp":"2026-02-09T00:36:45.887Z","mac":"C3000057B9F4","rssi":-61,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAC07BE43CE"},{"timestamp":"2026-02-09T00:36:45.891Z","mac":"C300003946AC","rssi":-53,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:46.169Z","mac":"C3000057B9DB","rssi":-58,"rawData":"0201060303AAFE1116AAFE20000C2710000204665107B0D48C"},{"timestamp":"2026-02-09T00:36:46.237Z","mac":"C3000057B9F1","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0706E55A8C"},{"timestamp":"2026-02-09T00:36:46.317Z","mac":"C7AE561E38B7","rssi":-78,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1703095336"},{"timestamp":"2026-02-09T00:36:46.363Z","mac":"E017085443A7","rssi":-51,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:46.402Z","mac":"C3000057B9E8","rssi":-62,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FD06F29E7C"},{"timestamp":"2026-02-09T00:36:46.408Z","mac":"C3000057B9DF","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895B079444B6"},{"timestamp":"2026-02-09T00:36:46.440Z","mac":"C3000057B9E7","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4140710B4D4"},{"timestamp":"2026-02-09T00:36:46.473Z","mac":"C3000057B9DD","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82707922172"}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:45.512Z","type":"Gateway","mac":"AC233FC1DD49","nums":3},{"timestamp":"2026-02-09T00:36:45.866Z","mac":"C3000057B9E6","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AE06F5002C"},{"timestamp":"2026-02-09T00:36:46.363Z","mac":"E017085443A7","rssi":-78,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:46.402Z","mac":"C3000057B9E8","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FD06F29E7C"}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:45.679Z","type":"Gateway","mac":"AC233FC1DD3C","nums":6},{"timestamp":"2026-02-09T00:36:45.866Z","mac":"C3000057B9E6","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AE06F5002C"},{"timestamp":"2026-02-09T00:36:46.249Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:46.402Z","mac":"C3000057B9E8","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FD06F29E7C"},{"timestamp":"2026-02-09T00:36:46.446Z","mac":"504C97555B00","rssi":-85,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:46.636Z","mac":"504C97555B00","rssi":-81,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:46.703Z","mac":"D920A4A6D237","rssi":-82,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:45.714Z","type":"Gateway","mac":"AC233FC1DD51","nums":5},{"timestamp":"2026-02-09T00:36:45.711Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:46.012Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1703095336"},{"timestamp":"2026-02-09T00:36:46.315Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1703095336"},{"timestamp":"2026-02-09T00:36:46.362Z","mac":"E017085443A7","rssi":-79,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:46.623Z","mac":"C7AE561E38B7","rssi":-81,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1703095336"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:45.770Z","type":"Gateway","mac":"AC233FC1DD50","nums":5},{"timestamp":"2026-02-09T00:36:45.774Z","mac":"3868A460B93E","rssi":-80,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"},{"timestamp":"2026-02-09T00:36:46.076Z","mac":"C3000057B9DC","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC2F0776BBBC"},{"timestamp":"2026-02-09T00:36:46.077Z","mac":"3868A460B93E","rssi":-82,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"},{"timestamp":"2026-02-09T00:36:46.386Z","mac":"3868A460B93E","rssi":-81,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"},{"timestamp":"2026-02-09T00:36:46.690Z","mac":"3868A460B93E","rssi":-80,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:45.847Z","type":"Gateway","mac":"AC233FC1DD55","nums":7},{"timestamp":"2026-02-09T00:36:45.865Z","mac":"504C97555B00","rssi":-83,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:45.866Z","mac":"C3000057B9E6","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4AE06F5002C"},{"timestamp":"2026-02-09T00:36:45.891Z","mac":"C300003946AC","rssi":-83,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:46.238Z","mac":"C3000057B9F1","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0706E55A8C"},{"timestamp":"2026-02-09T00:36:46.447Z","mac":"504C97555B00","rssi":-81,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:46.739Z","mac":"F045AEE31DB4","rssi":-79,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:46.837Z","mac":"504C97555B00","rssi":-80,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:45.895Z","type":"Gateway","mac":"AC233FC1DD4B","nums":4},{"timestamp":"2026-02-09T00:36:46.236Z","mac":"C3000057B9F1","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0706E55A8C"},{"timestamp":"2026-02-09T00:36:46.473Z","mac":"C3000057B9DD","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82707922172"},{"timestamp":"2026-02-09T00:36:46.740Z","mac":"F045AEE31DB4","rssi":-73,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:46.762Z","mac":"C3000057B9F5","rssi":-66,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1E107BA7834"}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:45.960Z","type":"Gateway","mac":"AC233FC1DD48","nums":7},{"timestamp":"2026-02-09T00:36:46.012Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:46.321Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:46.399Z","mac":"C3000057B9DF","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895B079444B6"},{"timestamp":"2026-02-09T00:36:46.472Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:46.626Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:46.752Z","mac":"C3000057B9F5","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1E107BA7834"},{"timestamp":"2026-02-09T00:36:46.777Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:46.035Z","type":"Gateway","mac":"AC233FC1DCCD","nums":11},{"timestamp":"2026-02-09T00:36:46.033Z","mac":"D54E908B7972","rssi":-85,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:46.055Z","mac":"C3000057B9D4","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BAB06BB3324"},{"timestamp":"2026-02-09T00:36:46.315Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1703095336"},{"timestamp":"2026-02-09T00:36:46.360Z","mac":"E017085443A7","rssi":-80,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:46.375Z","mac":"E43883D93326","rssi":-86,"rawData":"1106B93D2E1D72D12592F94FD44ACDC5392109162A25E43883D93324"},{"timestamp":"2026-02-09T00:36:46.400Z","mac":"C3000057B9E8","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FD06F29E7C"},{"timestamp":"2026-02-09T00:36:46.405Z","mac":"C3000057B9DF","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895B079444B6"},{"timestamp":"2026-02-09T00:36:46.623Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1703095336"},{"timestamp":"2026-02-09T00:36:46.661Z","mac":"C3000057B9D9","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFF5075D66E4"},{"timestamp":"2026-02-09T00:36:46.700Z","mac":"D920A4A6D237","rssi":-82,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:46.924Z","mac":"C7AE561E38B7","rssi":-83,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:46.021Z","type":"Gateway","mac":"AC233FC1DD4E","nums":12},{"timestamp":"2026-02-09T00:36:46.165Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:46.168Z","mac":"C3000057B9DB","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C2710000204665107B0D48C"},{"timestamp":"2026-02-09T00:36:46.472Z","mac":"C3000057B9DD","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82707922172"},{"timestamp":"2026-02-09T00:36:46.479Z","mac":"E6E749BA2D00","rssi":-78,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:46.625Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1703095336"},{"timestamp":"2026-02-09T00:36:46.664Z","mac":"C3000057B9D9","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFF5075D66E4"},{"timestamp":"2026-02-09T00:36:46.761Z","mac":"C3000057B9F5","rssi":-58,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1E107BA7834"},{"timestamp":"2026-02-09T00:36:46.791Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:46.885Z","mac":"C3000057B9F4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAD07BE43D8"},{"timestamp":"2026-02-09T00:36:46.926Z","mac":"C7AE561E38B7","rssi":-75,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:47.007Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:47.044Z","mac":"C300003947C4","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C2A0F0002C33007152F84DC"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:46.173Z","type":"Gateway","mac":"AC233FC1DCD3","nums":0}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:46.239Z","type":"Gateway","mac":"AC233FC1DCD1","nums":9},{"timestamp":"2026-02-09T00:36:46.438Z","mac":"C3000057B9E7","rssi":-57,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4140710B4D4"},{"timestamp":"2026-02-09T00:36:46.736Z","mac":"F045AEE31DB4","rssi":-37,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:46.759Z","mac":"C3000057B9F5","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1E107BA7834"},{"timestamp":"2026-02-09T00:36:46.881Z","mac":"C3000057B9F4","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAD07BE43D8"},{"timestamp":"2026-02-09T00:36:46.924Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:47.036Z","mac":"D54E908B7972","rssi":-59,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:47.041Z","mac":"C300003947C4","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C2A0F0002C33007152F84DC"},{"timestamp":"2026-02-09T00:36:47.058Z","mac":"C3000057B9D4","rssi":-63,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BAC06BB332E"},{"timestamp":"2026-02-09T00:36:47.178Z","mac":"C3000057B9DB","rssi":-70,"rawData":"0201060303AAFE1116AAFE20000C2710000204665207B0D496"}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:46.353Z","type":"Gateway","mac":"AC233FC1DCEE","nums":1},{"timestamp":"2026-02-09T00:36:47.041Z","mac":"C300003947C4","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C2A0F0002C33007152F84DC"}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:46.335Z","type":"Gateway","mac":"AC233FC1DD31","nums":7},{"timestamp":"2026-02-09T00:36:46.442Z","mac":"C3000057B9E7","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4140710B4D4"},{"timestamp":"2026-02-09T00:36:46.473Z","mac":"C3000057B9DD","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82707922172"},{"timestamp":"2026-02-09T00:36:46.740Z","mac":"F045AEE31DB4","rssi":-66,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:46.762Z","mac":"C3000057B9F5","rssi":-38,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1E107BA7834"},{"timestamp":"2026-02-09T00:36:47.062Z","mac":"C3000057B9D4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BAC06BB332E"},{"timestamp":"2026-02-09T00:36:47.082Z","mac":"C3000057B9DC","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC300776BBC6"},{"timestamp":"2026-02-09T00:36:47.365Z","mac":"E017085443A7","rssi":-67,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:46.572Z","type":"Gateway","mac":"AC233FC1DCD2","nums":11},{"timestamp":"2026-02-09T00:36:47.082Z","mac":"C3000057B9DC","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC300776BBC6"},{"timestamp":"2026-02-09T00:36:47.182Z","mac":"C3000057B9DB","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C2710000204665207B0D496"},{"timestamp":"2026-02-09T00:36:47.229Z","mac":"C7AE561E38B7","rssi":-78,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:47.239Z","mac":"C3000057B9F1","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0806E55A96"},{"timestamp":"2026-02-09T00:36:47.252Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:47.364Z","mac":"E017085443A7","rssi":-52,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:47.409Z","mac":"C3000057B9E8","rssi":-67,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FE06F29E86"},{"timestamp":"2026-02-09T00:36:47.422Z","mac":"C3000057B9DF","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895C079444C0"},{"timestamp":"2026-02-09T00:36:47.457Z","mac":"C3000057B9E7","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4150710B4DE"},{"timestamp":"2026-02-09T00:36:47.482Z","mac":"C3000057B9DD","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C8280792217C"},{"timestamp":"2026-02-09T00:36:47.529Z","mac":"C7AE561E38B7","rssi":-80,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:46.604Z","type":"Gateway","mac":"AC233FC1DD49","nums":1},{"timestamp":"2026-02-09T00:36:47.044Z","mac":"C300003947C4","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C2A0F0002C33007152F84DC"}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:46.561Z","type":"Gateway","mac":"AC233FC1DD40","nums":3},{"timestamp":"2026-02-09T00:36:47.075Z","mac":"C3000057B9DC","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC300776BBC6"},{"timestamp":"2026-02-09T00:36:47.174Z","mac":"C3000057B9DB","rssi":-84,"rawData":"0201060303AAFE1116AAFE20000C2710000204665207B0D496"},{"timestamp":"2026-02-09T00:36:47.356Z","mac":"E017085443A7","rssi":-81,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:46.535Z","type":"Gateway","mac":"AC233FC1DCCB","nums":3},{"timestamp":"2026-02-09T00:36:46.761Z","mac":"C3000057B9F5","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1E107BA7834"},{"timestamp":"2026-02-09T00:36:47.082Z","mac":"C3000057B9DC","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC300776BBC6"},{"timestamp":"2026-02-09T00:36:47.184Z","mac":"C3000057B9DB","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2710000204665207B0D496"}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:46.629Z","type":"Gateway","mac":"AC233FC1DD51","nums":4},{"timestamp":"2026-02-09T00:36:46.663Z","mac":"C3000057B9D9","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFF5075D66E4"},{"timestamp":"2026-02-09T00:36:46.924Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:47.227Z","mac":"C7AE561E38B7","rssi":-81,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:47.527Z","mac":"C7AE561E38B7","rssi":-82,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:46.709Z","type":"Gateway","mac":"AC233FC1DD3C","nums":5},{"timestamp":"2026-02-09T00:36:46.837Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:47.223Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:47.364Z","mac":"E017085443A7","rssi":-75,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:47.408Z","mac":"C3000057B9E8","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FE06F29E86"},{"timestamp":"2026-02-09T00:36:47.419Z","mac":"504C97555B00","rssi":-77,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:46.843Z","type":"Gateway","mac":"AC233FC1DD55","nums":8},{"timestamp":"2026-02-09T00:36:47.044Z","mac":"C300003947C4","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C2A0F0002C33007152F84DC"},{"timestamp":"2026-02-09T00:36:47.061Z","mac":"C3000057B9D4","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BAC06BB332E"},{"timestamp":"2026-02-09T00:36:47.364Z","mac":"E017085443A7","rssi":-72,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:47.409Z","mac":"C3000057B9E8","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FE06F29E86"},{"timestamp":"2026-02-09T00:36:47.419Z","mac":"504C97555B00","rssi":-80,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:47.609Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:47.735Z","mac":"F045AEE31DB4","rssi":-77,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:47.885Z","mac":"C3000057B9F4","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAE07BE43E2"}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:46.980Z","type":"Gateway","mac":"AC233FC1DD48","nums":5},{"timestamp":"2026-02-09T00:36:47.244Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:47.549Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:47.701Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:47.855Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:47.876Z","mac":"C3000057B9F4","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAE07BE43E2"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:46.791Z","type":"Gateway","mac":"AC233FC1DD50","nums":2},{"timestamp":"2026-02-09T00:36:47.007Z","mac":"3868A460B93E","rssi":-80,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"},{"timestamp":"2026-02-09T00:36:47.622Z","mac":"3868A460B93E","rssi":-82,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:46.961Z","type":"Gateway","mac":"AC233FC1DD4B","nums":8},{"timestamp":"2026-02-09T00:36:47.083Z","mac":"C3000057B9DC","rssi":-63,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC300776BBC6"},{"timestamp":"2026-02-09T00:36:47.365Z","mac":"E017085443A7","rssi":-83,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:47.420Z","mac":"C3000057B9DF","rssi":-58,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895C079444C0"},{"timestamp":"2026-02-09T00:36:47.455Z","mac":"C3000057B9E7","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4150710B4DE"},{"timestamp":"2026-02-09T00:36:47.678Z","mac":"C3000057B9D9","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF6075D66EE"},{"timestamp":"2026-02-09T00:36:47.708Z","mac":"D920A4A6D237","rssi":-77,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:47.733Z","mac":"F045AEE31DB4","rssi":-81,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:47.765Z","mac":"C3000057B9F5","rssi":-55,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1E207BA783E"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:47.050Z","type":"Gateway","mac":"AC233FC1DD4E","nums":14},{"timestamp":"2026-02-09T00:36:47.059Z","mac":"0BC8DA14CEAC","rssi":-81,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:47.081Z","mac":"C3000057B9DC","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC300776BBC6"},{"timestamp":"2026-02-09T00:36:47.368Z","mac":"0BC8DA14CEAC","rssi":-81,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:47.407Z","mac":"C3000057B9E8","rssi":-84,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FE06F29E86"},{"timestamp":"2026-02-09T00:36:47.422Z","mac":"C3000057B9DF","rssi":-64,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895C079444C0"},{"timestamp":"2026-02-09T00:36:47.677Z","mac":"C3000057B9D9","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF6075D66EE"},{"timestamp":"2026-02-09T00:36:47.678Z","mac":"0BC8DA14CEAC","rssi":-82,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:47.734Z","mac":"F045AEE31DB4","rssi":-72,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:47.767Z","mac":"C3000057B9F5","rssi":-64,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1E207BA783E"},{"timestamp":"2026-02-09T00:36:47.837Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:47.885Z","mac":"C3000057B9F4","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAE07BE43E2"},{"timestamp":"2026-02-09T00:36:47.893Z","mac":"C300003946AC","rssi":-83,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:47.962Z","mac":"E6E749BA2D00","rssi":-76,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:47.999Z","mac":"0BC8DA14CEAC","rssi":-81,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:47.031Z","type":"Gateway","mac":"AC233FC1DCCD","nums":7},{"timestamp":"2026-02-09T00:36:47.236Z","mac":"C3000057B9F1","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0806E55A96"},{"timestamp":"2026-02-09T00:36:47.527Z","mac":"C7AE561E38B7","rssi":-84,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:47.834Z","mac":"C7AE561E38B7","rssi":-84,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:47.860Z","mac":"C3000057B9E6","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B006F50040"},{"timestamp":"2026-02-09T00:36:47.882Z","mac":"C3000057B9F4","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAE07BE43E2"},{"timestamp":"2026-02-09T00:36:47.891Z","mac":"C300003946AC","rssi":-76,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:47.922Z","mac":"E43883D93326","rssi":-85,"rawData":"1106B93D2E1D72D12592F94FD44ACDC5392109162A25E43883D93324"}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:47.186Z","type":"Gateway","mac":"AC233FC1DCD1","nums":15},{"timestamp":"2026-02-09T00:36:47.362Z","mac":"E017085443A7","rssi":-35,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:47.403Z","mac":"C3000057B9E8","rssi":-57,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FE06F29E86"},{"timestamp":"2026-02-09T00:36:47.417Z","mac":"C3000057B9DF","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895C079444C0"},{"timestamp":"2026-02-09T00:36:47.451Z","mac":"C3000057B9E7","rssi":-50,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4150710B4DE"},{"timestamp":"2026-02-09T00:36:47.704Z","mac":"D920A4A6D237","rssi":-54,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:47.729Z","mac":"F045AEE31DB4","rssi":-35,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:47.761Z","mac":"C3000057B9F5","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1E207BA783E"},{"timestamp":"2026-02-09T00:36:47.834Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:47.860Z","mac":"C3000057B9E6","rssi":-52,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B006F50040"},{"timestamp":"2026-02-09T00:36:47.883Z","mac":"C3000057B9F4","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAE07BE43E2"},{"timestamp":"2026-02-09T00:36:48.039Z","mac":"D54E908B7972","rssi":-58,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:48.050Z","mac":"C300003947C4","rssi":-54,"rawData":"0201060303AAFE1116AAFE20000C2A0F0002C33008152F84E6"},{"timestamp":"2026-02-09T00:36:48.067Z","mac":"C3000057B9D4","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BAD06BB3338"},{"timestamp":"2026-02-09T00:36:48.081Z","mac":"C3000057B9DC","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC310776BBD0"},{"timestamp":"2026-02-09T00:36:48.136Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1903095336"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:47.173Z","type":"Gateway","mac":"AC233FC1DCD3","nums":0}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:47.371Z","type":"Gateway","mac":"AC233FC1DD31","nums":9},{"timestamp":"2026-02-09T00:36:47.678Z","mac":"C3000057B9D9","rssi":-52,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF6075D66EE"},{"timestamp":"2026-02-09T00:36:47.708Z","mac":"D920A4A6D237","rssi":-79,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:47.733Z","mac":"F045AEE31DB4","rssi":-81,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:47.765Z","mac":"C3000057B9F5","rssi":-30,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1E207BA783E"},{"timestamp":"2026-02-09T00:36:48.042Z","mac":"D54E908B7972","rssi":-84,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:48.053Z","mac":"C300003947C4","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C2A0F0002C33008152F84E6"},{"timestamp":"2026-02-09T00:36:48.071Z","mac":"C3000057B9D4","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BAD06BB3338"},{"timestamp":"2026-02-09T00:36:48.085Z","mac":"C3000057B9DC","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC310776BBD0"},{"timestamp":"2026-02-09T00:36:48.368Z","mac":"E017085443A7","rssi":-65,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:47.343Z","type":"Gateway","mac":"AC233FC1DCEE","nums":4},{"timestamp":"2026-02-09T00:36:47.451Z","mac":"C3000057B9E7","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4150710B4DE"},{"timestamp":"2026-02-09T00:36:47.860Z","mac":"C3000057B9E6","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B006F50040"},{"timestamp":"2026-02-09T00:36:48.067Z","mac":"C3000057B9D4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BAD06BB3338"},{"timestamp":"2026-02-09T00:36:48.364Z","mac":"E017085443A7","rssi":-81,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:47.537Z","type":"Gateway","mac":"AC233FC1DCD2","nums":18},{"timestamp":"2026-02-09T00:36:47.709Z","mac":"D920A4A6D237","rssi":-66,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:47.734Z","mac":"F045AEE31DB4","rssi":-46,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:47.767Z","mac":"C3000057B9F5","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1E207BA783E"},{"timestamp":"2026-02-09T00:36:48.044Z","mac":"D54E908B7972","rssi":-73,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:48.055Z","mac":"C300003947C4","rssi":-62,"rawData":"0201060303AAFE1116AAFE20000C2A0F0002C33008152F84E6"},{"timestamp":"2026-02-09T00:36:48.072Z","mac":"C3000057B9D4","rssi":-66,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BAD06BB3338"},{"timestamp":"2026-02-09T00:36:48.084Z","mac":"C3000057B9DC","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC310776BBD0"},{"timestamp":"2026-02-09T00:36:48.139Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1903095336"},{"timestamp":"2026-02-09T00:36:48.165Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:48.187Z","mac":"C3000057B9DB","rssi":-52,"rawData":"0201060303AAFE1116AAFE20000C2710000204665307B0D4A0"},{"timestamp":"2026-02-09T00:36:48.253Z","mac":"C3000057B9F1","rssi":-64,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0906E55AA0"},{"timestamp":"2026-02-09T00:36:48.369Z","mac":"E017085443A7","rssi":-50,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:48.411Z","mac":"C3000057B9E8","rssi":-63,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF6FF06F29E90"},{"timestamp":"2026-02-09T00:36:48.440Z","mac":"C3000057B9DF","rssi":-66,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895D079444CA"},{"timestamp":"2026-02-09T00:36:48.444Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1903095336"},{"timestamp":"2026-02-09T00:36:48.463Z","mac":"C3000057B9E7","rssi":-61,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4160710B4E8"},{"timestamp":"2026-02-09T00:36:48.471Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:48.486Z","mac":"C3000057B9DD","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82907922186"}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:47.543Z","type":"Gateway","mac":"AC233FC1DD49","nums":0}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:47.586Z","type":"Gateway","mac":"AC233FC1DCCB","nums":5},{"timestamp":"2026-02-09T00:36:47.708Z","mac":"D920A4A6D237","rssi":-81,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:47.734Z","mac":"F045AEE31DB4","rssi":-67,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:47.767Z","mac":"C3000057B9F5","rssi":-61,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1E207BA783E"},{"timestamp":"2026-02-09T00:36:48.044Z","mac":"D54E908B7972","rssi":-74,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:48.086Z","mac":"C3000057B9DC","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC310776BBD0"}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:47.631Z","type":"Gateway","mac":"AC233FC1DD51","nums":5},{"timestamp":"2026-02-09T00:36:47.835Z","mac":"C7AE561E38B7","rssi":-81,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:47.884Z","mac":"C3000057B9F4","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAE07BE43E2"},{"timestamp":"2026-02-09T00:36:48.137Z","mac":"C7AE561E38B7","rssi":-81,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1903095336"},{"timestamp":"2026-02-09T00:36:48.185Z","mac":"C3000057B9DB","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C2710000204665307B0D4A0"},{"timestamp":"2026-02-09T00:36:48.442Z","mac":"C7AE561E38B7","rssi":-81,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1903095336"}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:47.562Z","type":"Gateway","mac":"AC233FC1DD40","nums":3},{"timestamp":"2026-02-09T00:36:47.759Z","mac":"C3000057B9F5","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C2410000206F1E207BA783E"},{"timestamp":"2026-02-09T00:36:48.077Z","mac":"C3000057B9DC","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC310776BBD0"},{"timestamp":"2026-02-09T00:36:48.179Z","mac":"C3000057B9DB","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2710000204665307B0D4A0"}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:47.715Z","type":"Gateway","mac":"AC233FC1DD3C","nums":4},{"timestamp":"2026-02-09T00:36:47.734Z","mac":"F045AEE31DB4","rssi":-77,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:48.073Z","mac":"C3000057B9D4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BAD06BB3338"},{"timestamp":"2026-02-09T00:36:48.369Z","mac":"E017085443A7","rssi":-75,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:48.398Z","mac":"504C97555B00","rssi":-77,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:47.892Z","type":"Gateway","mac":"AC233FC1DD55","nums":8},{"timestamp":"2026-02-09T00:36:48.003Z","mac":"504C97555B00","rssi":-81,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:48.055Z","mac":"C300003947C4","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C2A0F0002C33008152F84E6"},{"timestamp":"2026-02-09T00:36:48.370Z","mac":"E017085443A7","rssi":-83,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:48.464Z","mac":"C3000057B9E7","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4160710B4E8"},{"timestamp":"2026-02-09T00:36:48.592Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:48.733Z","mac":"F045AEE31DB4","rssi":-75,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:48.776Z","mac":"C3000057B9F5","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E307BA7848"},{"timestamp":"2026-02-09T00:36:48.867Z","mac":"C3000057B9E6","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B106F5004A"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:47.820Z","type":"Gateway","mac":"AC233FC1DD50","nums":3},{"timestamp":"2026-02-09T00:36:47.931Z","mac":"3868A460B93E","rssi":-82,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"},{"timestamp":"2026-02-09T00:36:48.238Z","mac":"3868A460B93E","rssi":-81,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"},{"timestamp":"2026-02-09T00:36:48.548Z","mac":"3868A460B93E","rssi":-81,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:47.881Z","type":"Gateway","mac":"AC233FC1DD48","nums":5},{"timestamp":"2026-02-09T00:36:48.156Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:48.462Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:48.477Z","mac":"C3000057B9DD","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82907922186"},{"timestamp":"2026-02-09T00:36:48.766Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:48.767Z","mac":"C3000057B9F5","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E307BA7848"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:47.971Z","type":"Gateway","mac":"AC233FC1DD4B","nums":4},{"timestamp":"2026-02-09T00:36:48.085Z","mac":"C3000057B9DC","rssi":-55,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC310776BBD0"},{"timestamp":"2026-02-09T00:36:48.368Z","mac":"E017085443A7","rssi":-75,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:48.684Z","mac":"C3000057B9D9","rssi":-62,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF7075D66F8"},{"timestamp":"2026-02-09T00:36:48.887Z","mac":"C300003946B1","rssi":-79,"rawData":"0201060303E1FF1116E1FFA10826B146390000C34D57423031"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:48.107Z","type":"Gateway","mac":"AC233FC1DD4E","nums":6},{"timestamp":"2026-02-09T00:36:48.274Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:48.581Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:48.623Z","mac":"0BC8DA14CEAC","rssi":-83,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:48.892Z","mac":"C3000057B9F4","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAF07BE43EC"},{"timestamp":"2026-02-09T00:36:48.894Z","mac":"E6E749BA2D00","rssi":-76,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:49.045Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:48.120Z","type":"Gateway","mac":"AC233FC1DCCD","nums":6},{"timestamp":"2026-02-09T00:36:48.136Z","mac":"C7AE561E38B7","rssi":-84,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1903095336"},{"timestamp":"2026-02-09T00:36:48.183Z","mac":"C3000057B9DB","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C2710000204665307B0D4A0"},{"timestamp":"2026-02-09T00:36:48.461Z","mac":"C3000057B9E7","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4160710B4E8"},{"timestamp":"2026-02-09T00:36:48.483Z","mac":"C3000057B9DD","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82907922186"},{"timestamp":"2026-02-09T00:36:48.774Z","mac":"C3000057B9F5","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E307BA7848"},{"timestamp":"2026-02-09T00:36:49.072Z","mac":"C3000057B9D4","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C570F0002000BAE06BB3342"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:48.173Z","type":"Gateway","mac":"AC233FC1DCD3","nums":1},{"timestamp":"2026-02-09T00:36:49.090Z","mac":"C3000057B9DC","rssi":-85,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC320776BBDA"}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:48.240Z","type":"Gateway","mac":"AC233FC1DCD1","nums":13},{"timestamp":"2026-02-09T00:36:48.364Z","mac":"E017085443A7","rssi":-42,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:48.681Z","mac":"C3000057B9D9","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF7075D66F8"},{"timestamp":"2026-02-09T00:36:48.711Z","mac":"D920A4A6D237","rssi":-53,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:48.730Z","mac":"F045AEE31DB4","rssi":-33,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:48.745Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1903095336"},{"timestamp":"2026-02-09T00:36:48.864Z","mac":"C3000057B9E6","rssi":-53,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B106F5004A"},{"timestamp":"2026-02-09T00:36:48.883Z","mac":"C300003946B1","rssi":-46,"rawData":"0201060303E1FF1116E1FFA10826B146390000C34D57423031"},{"timestamp":"2026-02-09T00:36:48.893Z","mac":"C3000057B9F4","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAF07BE43EC"},{"timestamp":"2026-02-09T00:36:49.041Z","mac":"D54E908B7972","rssi":-57,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:49.045Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:49.061Z","mac":"C300003947C4","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33009152F84F0"},{"timestamp":"2026-02-09T00:36:49.072Z","mac":"C3000057B9D4","rssi":-55,"rawData":"0201060303AAFE1116AAFE20000C570F0002000BAE06BB3342"},{"timestamp":"2026-02-09T00:36:49.090Z","mac":"C3000057B9DC","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC320776BBDA"}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:48.374Z","type":"Gateway","mac":"AC233FC1DD31","nums":4},{"timestamp":"2026-02-09T00:36:48.684Z","mac":"C3000057B9D9","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF7075D66F8"},{"timestamp":"2026-02-09T00:36:48.897Z","mac":"C3000057B9F4","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAF07BE43EC"},{"timestamp":"2026-02-09T00:36:49.196Z","mac":"C3000057B9DB","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2710000204665407B0D4AA"},{"timestamp":"2026-02-09T00:36:49.255Z","mac":"C3000057B9F1","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0A06E55AAA"}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:48.370Z","type":"Gateway","mac":"AC233FC1DCEE","nums":1},{"timestamp":"2026-02-09T00:36:49.072Z","mac":"C3000057B9D4","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C570F0002000BAE06BB3342"}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:48.495Z","type":"Gateway","mac":"AC233FC1DCD2","nums":16},{"timestamp":"2026-02-09T00:36:48.686Z","mac":"C3000057B9D9","rssi":-64,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF7075D66F8"},{"timestamp":"2026-02-09T00:36:48.713Z","mac":"D920A4A6D237","rssi":-79,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:49.043Z","mac":"D54E908B7972","rssi":-71,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:49.048Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:49.063Z","mac":"C300003947C4","rssi":-57,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33009152F84F0"},{"timestamp":"2026-02-09T00:36:49.074Z","mac":"C3000057B9D4","rssi":-66,"rawData":"0201060303AAFE1116AAFE20000C570F0002000BAE06BB3342"},{"timestamp":"2026-02-09T00:36:49.092Z","mac":"C3000057B9DC","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC320776BBDA"},{"timestamp":"2026-02-09T00:36:49.195Z","mac":"C3000057B9DB","rssi":-52,"rawData":"0201060303AAFE1116AAFE20000C2710000204665407B0D4AA"},{"timestamp":"2026-02-09T00:36:49.257Z","mac":"C3000057B9F1","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0A06E55AAA"},{"timestamp":"2026-02-09T00:36:49.351Z","mac":"C7AE561E38B7","rssi":-78,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:49.369Z","mac":"E017085443A7","rssi":-47,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:49.391Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:49.405Z","mac":"C3000057B9E8","rssi":-61,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70006F29E9A"},{"timestamp":"2026-02-09T00:36:49.452Z","mac":"C3000057B9DF","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895E079444D4"},{"timestamp":"2026-02-09T00:36:49.468Z","mac":"C3000057B9E7","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4170710B4F2"},{"timestamp":"2026-02-09T00:36:49.499Z","mac":"C3000057B9DD","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82A07922190"}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:48.543Z","type":"Gateway","mac":"AC233FC1DD49","nums":4},{"timestamp":"2026-02-09T00:36:48.886Z","mac":"C300003946B1","rssi":-86,"rawData":"0201060303E1FF1116E1FFA10826B146390000C34D57423031"},{"timestamp":"2026-02-09T00:36:49.064Z","mac":"C300003947C4","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C2A100002C33009152F84F0"},{"timestamp":"2026-02-09T00:36:49.370Z","mac":"E017085443A7","rssi":-78,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:49.404Z","mac":"C3000057B9E8","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70006F29E9A"}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:48.581Z","type":"Gateway","mac":"AC233FC1DD40","nums":1},{"timestamp":"2026-02-09T00:36:49.188Z","mac":"C3000057B9DB","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2710000204665407B0D4AA"}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:48.642Z","type":"Gateway","mac":"AC233FC1DD51","nums":0}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:48.586Z","type":"Gateway","mac":"AC233FC1DCCB","nums":2},{"timestamp":"2026-02-09T00:36:48.686Z","mac":"C3000057B9D9","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF7075D66F8"},{"timestamp":"2026-02-09T00:36:49.257Z","mac":"C3000057B9F1","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0A06E55AAA"}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:48.695Z","type":"Gateway","mac":"AC233FC1DD3C","nums":5},{"timestamp":"2026-02-09T00:36:48.989Z","mac":"504C97555B00","rssi":-77,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:49.375Z","mac":"504C97555B00","rssi":-81,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:49.404Z","mac":"C3000057B9E8","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70006F29E9A"},{"timestamp":"2026-02-09T00:36:49.468Z","mac":"C3000057B9E7","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4170710B4F2"},{"timestamp":"2026-02-09T00:36:49.577Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:48.751Z","type":"Gateway","mac":"AC233FC1DD50","nums":3},{"timestamp":"2026-02-09T00:36:48.858Z","mac":"3868A460B93E","rssi":-82,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"},{"timestamp":"2026-02-09T00:36:49.089Z","mac":"C3000057B9DC","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC320776BBDA"},{"timestamp":"2026-02-09T00:36:49.478Z","mac":"3868A460B93E","rssi":-82,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:48.873Z","type":"Gateway","mac":"AC233FC1DD55","nums":7},{"timestamp":"2026-02-09T00:36:48.886Z","mac":"C300003946B1","rssi":-77,"rawData":"0201060303E1FF1116E1FFA10826B146390000C34D57423031"},{"timestamp":"2026-02-09T00:36:48.896Z","mac":"C3000057B9F4","rssi":-84,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAF07BE43EC"},{"timestamp":"2026-02-09T00:36:48.989Z","mac":"504C97555B00","rssi":-80,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:49.257Z","mac":"C3000057B9F1","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0A06E55AAA"},{"timestamp":"2026-02-09T00:36:49.577Z","mac":"504C97555B00","rssi":-81,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:49.736Z","mac":"F045AEE31DB4","rssi":-79,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:49.773Z","mac":"504C97555B00","rssi":-83,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:48.892Z","type":"Gateway","mac":"AC233FC1DD4B","nums":6},{"timestamp":"2026-02-09T00:36:48.897Z","mac":"C3000057B9F4","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C24100002089BAF07BE43EC"},{"timestamp":"2026-02-09T00:36:49.197Z","mac":"C3000057B9DB","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C2710000204665407B0D4AA"},{"timestamp":"2026-02-09T00:36:49.255Z","mac":"C3000057B9F1","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0A06E55AAA"},{"timestamp":"2026-02-09T00:36:49.501Z","mac":"C3000057B9DD","rssi":-70,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82A07922190"},{"timestamp":"2026-02-09T00:36:49.871Z","mac":"C3000057B9E6","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B206F50054"},{"timestamp":"2026-02-09T00:36:49.890Z","mac":"C300003946AC","rssi":-72,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:48.970Z","type":"Gateway","mac":"AC233FC1DD48","nums":7},{"timestamp":"2026-02-09T00:36:49.079Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:49.382Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:49.443Z","mac":"C3000057B9DF","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895E079444D4"},{"timestamp":"2026-02-09T00:36:49.560Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:49.692Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:49.784Z","mac":"C3000057B9F5","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E407BA7852"},{"timestamp":"2026-02-09T00:36:49.852Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:49.051Z","type":"Gateway","mac":"AC233FC1DD4E","nums":11},{"timestamp":"2026-02-09T00:36:49.192Z","mac":"C3000057B9DB","rssi":-67,"rawData":"0201060303AAFE1116AAFE20000C2710000204665407B0D4AA"},{"timestamp":"2026-02-09T00:36:49.215Z","mac":"E6E749BA2D00","rssi":-76,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:49.496Z","mac":"C3000057B9DD","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82A07922190"},{"timestamp":"2026-02-09T00:36:49.533Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:49.649Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:49.688Z","mac":"C3000057B9D9","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF8075D6702"},{"timestamp":"2026-02-09T00:36:49.731Z","mac":"F045AEE31DB4","rssi":-84,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:49.770Z","mac":"0BC8DA14CEAC","rssi":-81,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:49.790Z","mac":"C3000057B9F5","rssi":-58,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E407BA7852"},{"timestamp":"2026-02-09T00:36:49.839Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:49.889Z","mac":"C3000057B9F4","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB007BE43F6"}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:49.078Z","type":"Gateway","mac":"AC233FC1DCCD","nums":10},{"timestamp":"2026-02-09T00:36:49.089Z","mac":"C3000057B9DC","rssi":-66,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC320776BBDA"},{"timestamp":"2026-02-09T00:36:49.367Z","mac":"E017085443A7","rssi":-80,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:49.401Z","mac":"C3000057B9E8","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70006F29E9A"},{"timestamp":"2026-02-09T00:36:49.450Z","mac":"C3000057B9DF","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895E079444D4"},{"timestamp":"2026-02-09T00:36:49.465Z","mac":"C3000057B9E7","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4170710B4F2"},{"timestamp":"2026-02-09T00:36:49.689Z","mac":"C3000057B9D9","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF8075D6702"},{"timestamp":"2026-02-09T00:36:49.721Z","mac":"D920A4A6D237","rssi":-81,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:49.733Z","mac":"F045AEE31DB4","rssi":-74,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:49.791Z","mac":"C3000057B9F5","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E407BA7852"},{"timestamp":"2026-02-09T00:36:50.048Z","mac":"D54E908B7972","rssi":-84,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:49.194Z","type":"Gateway","mac":"AC233FC1DCD3","nums":0}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:49.189Z","type":"Gateway","mac":"AC233FC1DCD1","nums":6},{"timestamp":"2026-02-09T00:36:49.193Z","mac":"C3000057B9DB","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C2710000204665407B0D4AA"},{"timestamp":"2026-02-09T00:36:49.251Z","mac":"C3000057B9F1","rssi":-44,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0A06E55AAA"},{"timestamp":"2026-02-09T00:36:49.596Z","mac":"C300003946B1","rssi":-64,"rawData":"0201061AFF4C000215E2C56DB5DFFB48D2B060D0F5A71096E000000000EC"},{"timestamp":"2026-02-09T00:36:49.867Z","mac":"C3000057B9E6","rssi":-50,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B206F50054"},{"timestamp":"2026-02-09T00:36:49.887Z","mac":"C300003946AC","rssi":-77,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:49.888Z","mac":"C3000057B9F4","rssi":-70,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB007BE43F6"}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:49.373Z","type":"Gateway","mac":"AC233FC1DCEE","nums":0}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:49.355Z","type":"Gateway","mac":"AC233FC1DD31","nums":5},{"timestamp":"2026-02-09T00:36:49.501Z","mac":"C3000057B9DD","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82A07922190"},{"timestamp":"2026-02-09T00:36:49.871Z","mac":"C3000057B9E6","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B206F50054"},{"timestamp":"2026-02-09T00:36:49.890Z","mac":"C300003946AC","rssi":-75,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:49.891Z","mac":"C3000057B9F4","rssi":-46,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB007BE43F6"},{"timestamp":"2026-02-09T00:36:50.204Z","mac":"C3000057B9DB","rssi":-46,"rawData":"0201060303AAFE1116AAFE20000C2710000204665507B0D4B4"}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:49.555Z","type":"Gateway","mac":"AC233FC1DCCB","nums":3},{"timestamp":"2026-02-09T00:36:49.892Z","mac":"C300003946AC","rssi":-76,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:49.893Z","mac":"C3000057B9F4","rssi":-66,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB007BE43F6"},{"timestamp":"2026-02-09T00:36:50.206Z","mac":"C3000057B9DB","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2710000204665507B0D4B4"}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:49.509Z","type":"Gateway","mac":"AC233FC1DCD2","nums":12},{"timestamp":"2026-02-09T00:36:49.601Z","mac":"C300003946B1","rssi":-81,"rawData":"0201061AFF4C000215E2C56DB5DFFB48D2B060D0F5A71096E000000000EC"},{"timestamp":"2026-02-09T00:36:49.873Z","mac":"C3000057B9E6","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B206F50054"},{"timestamp":"2026-02-09T00:36:49.891Z","mac":"C300003946AC","rssi":-52,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:49.892Z","mac":"C3000057B9F4","rssi":-62,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB007BE43F6"},{"timestamp":"2026-02-09T00:36:49.953Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1C03095336"},{"timestamp":"2026-02-09T00:36:50.206Z","mac":"C3000057B9DB","rssi":-58,"rawData":"0201060303AAFE1116AAFE20000C2710000204665507B0D4B4"},{"timestamp":"2026-02-09T00:36:50.258Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1C03095336"},{"timestamp":"2026-02-09T00:36:50.371Z","mac":"E017085443A7","rssi":-51,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:50.415Z","mac":"C3000057B9E8","rssi":-62,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70106F29EA4"},{"timestamp":"2026-02-09T00:36:50.468Z","mac":"C3000057B9DF","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895F079444DE"},{"timestamp":"2026-02-09T00:36:50.479Z","mac":"C3000057B9E7","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4180710B4FC"},{"timestamp":"2026-02-09T00:36:50.503Z","mac":"C3000057B9DD","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82B0792219A"}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:49.591Z","type":"Gateway","mac":"AC233FC1DD40","nums":0}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:49.603Z","type":"Gateway","mac":"AC233FC1DD49","nums":0}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:49.641Z","type":"Gateway","mac":"AC233FC1DD51","nums":3},{"timestamp":"2026-02-09T00:36:49.691Z","mac":"C3000057B9D9","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF8075D6702"},{"timestamp":"2026-02-09T00:36:49.789Z","mac":"C3000057B9F5","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E407BA7852"},{"timestamp":"2026-02-09T00:36:50.369Z","mac":"E017085443A7","rssi":-79,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:49.776Z","type":"Gateway","mac":"AC233FC1DD3C","nums":4},{"timestamp":"2026-02-09T00:36:50.158Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:50.371Z","mac":"E017085443A7","rssi":-76,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:50.415Z","mac":"C3000057B9E8","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70106F29EA4"},{"timestamp":"2026-02-09T00:36:50.542Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:49.780Z","type":"Gateway","mac":"AC233FC1DD50","nums":4},{"timestamp":"2026-02-09T00:36:49.791Z","mac":"3868A460B93E","rssi":-81,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"},{"timestamp":"2026-02-09T00:36:50.093Z","mac":"3868A460B93E","rssi":-81,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"},{"timestamp":"2026-02-09T00:36:50.401Z","mac":"3868A460B93E","rssi":-82,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"},{"timestamp":"2026-02-09T00:36:50.707Z","mac":"3868A460B93E","rssi":-82,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:49.878Z","type":"Gateway","mac":"AC233FC1DD55","nums":3},{"timestamp":"2026-02-09T00:36:50.158Z","mac":"504C97555B00","rssi":-79,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:50.542Z","mac":"504C97555B00","rssi":-80,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:50.742Z","mac":"F045AEE31DB4","rssi":-79,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:49.896Z","type":"Gateway","mac":"AC233FC1DD4B","nums":8},{"timestamp":"2026-02-09T00:36:49.891Z","mac":"C3000057B9F4","rssi":-67,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB007BE43F6"},{"timestamp":"2026-02-09T00:36:50.204Z","mac":"C3000057B9DB","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C2710000204665507B0D4B4"},{"timestamp":"2026-02-09T00:36:50.466Z","mac":"C3000057B9DF","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895F079444DE"},{"timestamp":"2026-02-09T00:36:50.477Z","mac":"C3000057B9E7","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4180710B4FC"},{"timestamp":"2026-02-09T00:36:50.501Z","mac":"C3000057B9DD","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82B0792219A"},{"timestamp":"2026-02-09T00:36:50.735Z","mac":"D920A4A6D237","rssi":-78,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:50.742Z","mac":"F045AEE31DB4","rssi":-74,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:50.794Z","mac":"C3000057B9F5","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E507BA785C"}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:49.951Z","type":"Gateway","mac":"AC233FC1DD48","nums":5},{"timestamp":"2026-02-09T00:36:50.017Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:50.080Z","mac":"C3000057B9DC","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC330776BBE4"},{"timestamp":"2026-02-09T00:36:50.476Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:50.610Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:50.689Z","mac":"C3000057B9D9","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF9075D670C"}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:50.054Z","type":"Gateway","mac":"AC233FC1DCCD","nums":4},{"timestamp":"2026-02-09T00:36:50.074Z","mac":"C300003947C4","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C2A100002C3300A152F84FA"},{"timestamp":"2026-02-09T00:36:50.080Z","mac":"C3000057B9D4","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BAF06BB334C"},{"timestamp":"2026-02-09T00:36:50.369Z","mac":"E017085443A7","rssi":-70,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:50.695Z","mac":"C3000057B9D9","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF9075D670C"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:50.092Z","type":"Gateway","mac":"AC233FC1DD4E","nums":4},{"timestamp":"2026-02-09T00:36:50.203Z","mac":"C3000057B9DB","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C2710000204665507B0D4B4"},{"timestamp":"2026-02-09T00:36:50.464Z","mac":"C3000057B9DF","rssi":-64,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895F079444DE"},{"timestamp":"2026-02-09T00:36:50.499Z","mac":"C3000057B9DD","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82B0792219A"},{"timestamp":"2026-02-09T00:36:51.096Z","mac":"C3000057B9DC","rssi":-61,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC340776BBEE"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:50.193Z","type":"Gateway","mac":"AC233FC1DCD3","nums":0}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:50.187Z","type":"Gateway","mac":"AC233FC1DCD1","nums":10},{"timestamp":"2026-02-09T00:36:50.201Z","mac":"C3000057B9DB","rssi":-70,"rawData":"0201060303AAFE1116AAFE20000C2710000204665507B0D4B4"},{"timestamp":"2026-02-09T00:36:50.463Z","mac":"C3000057B9DF","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9895F079444DE"},{"timestamp":"2026-02-09T00:36:50.473Z","mac":"C3000057B9E7","rssi":-49,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4180710B4FC"},{"timestamp":"2026-02-09T00:36:50.732Z","mac":"D920A4A6D237","rssi":-55,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:50.737Z","mac":"F045AEE31DB4","rssi":-36,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:50.791Z","mac":"C3000057B9F5","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E507BA785C"},{"timestamp":"2026-02-09T00:36:51.049Z","mac":"D54E908B7972","rssi":-58,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:51.084Z","mac":"C300003947C4","rssi":-53,"rawData":"0201060303AAFE1116AAFE20000C2A0F0002C3300B152F8504"},{"timestamp":"2026-02-09T00:36:51.090Z","mac":"C3000057B9D4","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB006BB3356"},{"timestamp":"2026-02-09T00:36:51.094Z","mac":"C3000057B9DC","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC340776BBEE"}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:50.405Z","type":"Gateway","mac":"AC233FC1DD31","nums":9},{"timestamp":"2026-02-09T00:36:50.501Z","mac":"C3000057B9DD","rssi":-67,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82B0792219A"},{"timestamp":"2026-02-09T00:36:50.735Z","mac":"D920A4A6D237","rssi":-78,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:50.742Z","mac":"F045AEE31DB4","rssi":-66,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:50.794Z","mac":"C3000057B9F5","rssi":-30,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E507BA785C"},{"timestamp":"2026-02-09T00:36:51.054Z","mac":"D54E908B7972","rssi":-78,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:51.087Z","mac":"C300003947C4","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C2A0F0002C3300B152F8504"},{"timestamp":"2026-02-09T00:36:51.093Z","mac":"C3000057B9D4","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB006BB3356"},{"timestamp":"2026-02-09T00:36:51.097Z","mac":"C3000057B9DC","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC340776BBEE"},{"timestamp":"2026-02-09T00:36:51.366Z","mac":"E017085443A7","rssi":-67,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:50.373Z","type":"Gateway","mac":"AC233FC1DCEE","nums":1},{"timestamp":"2026-02-09T00:36:51.086Z","mac":"C300003947C4","rssi":-84,"rawData":"0201060303AAFE1116AAFE20000C2A0F0002C3300B152F8504"}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:50.509Z","type":"Gateway","mac":"AC233FC1DCD2","nums":12},{"timestamp":"2026-02-09T00:36:50.565Z","mac":"C7AE561E38B7","rssi":-78,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1C03095336"},{"timestamp":"2026-02-09T00:36:50.796Z","mac":"C3000057B9F5","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E507BA785C"},{"timestamp":"2026-02-09T00:36:50.870Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1C03095336"},{"timestamp":"2026-02-09T00:36:50.877Z","mac":"C3000057B9E6","rssi":-64,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B306F5005E"},{"timestamp":"2026-02-09T00:36:51.089Z","mac":"C300003947C4","rssi":-61,"rawData":"0201060303AAFE1116AAFE20000C2A0F0002C3300B152F8504"},{"timestamp":"2026-02-09T00:36:51.095Z","mac":"C3000057B9D4","rssi":-66,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB006BB3356"},{"timestamp":"2026-02-09T00:36:51.099Z","mac":"C3000057B9DC","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC340776BBEE"},{"timestamp":"2026-02-09T00:36:51.171Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:51.413Z","mac":"C3000057B9E8","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70206F29EAE"},{"timestamp":"2026-02-09T00:36:51.476Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:51.482Z","mac":"C3000057B9DF","rssi":-66,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F98960079444E8"},{"timestamp":"2026-02-09T00:36:51.487Z","mac":"C3000057B9E7","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4190710B506"}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:50.505Z","type":"Gateway","mac":"AC233FC1DCCB","nums":2},{"timestamp":"2026-02-09T00:36:50.797Z","mac":"C3000057B9F5","rssi":-61,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E507BA785C"},{"timestamp":"2026-02-09T00:36:51.100Z","mac":"C3000057B9DC","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC340776BBEE"}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:50.591Z","type":"Gateway","mac":"AC233FC1DD40","nums":2},{"timestamp":"2026-02-09T00:36:50.789Z","mac":"C3000057B9F5","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E507BA785C"},{"timestamp":"2026-02-09T00:36:51.092Z","mac":"C3000057B9DC","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC340776BBEE"}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:50.603Z","type":"Gateway","mac":"AC233FC1DD49","nums":0}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:50.671Z","type":"Gateway","mac":"AC233FC1DD51","nums":2},{"timestamp":"2026-02-09T00:36:50.695Z","mac":"C3000057B9D9","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFF9075D670C"},{"timestamp":"2026-02-09T00:36:51.215Z","mac":"C3000057B9DB","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C2710000204665607B0D4BE"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:50.811Z","type":"Gateway","mac":"AC233FC1DD50","nums":2},{"timestamp":"2026-02-09T00:36:51.337Z","mac":"3868A460B93E","rssi":-81,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"},{"timestamp":"2026-02-09T00:36:51.651Z","mac":"3868A460B93E","rssi":-80,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:50.746Z","type":"Gateway","mac":"AC233FC1DD3C","nums":6},{"timestamp":"2026-02-09T00:36:50.877Z","mac":"C3000057B9E6","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B306F5005E"},{"timestamp":"2026-02-09T00:36:51.095Z","mac":"C3000057B9D4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB006BB3356"},{"timestamp":"2026-02-09T00:36:51.124Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:51.413Z","mac":"C3000057B9E8","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70206F29EAE"},{"timestamp":"2026-02-09T00:36:51.511Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:51.708Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:50.847Z","type":"Gateway","mac":"AC233FC1DD55","nums":9},{"timestamp":"2026-02-09T00:36:51.053Z","mac":"D54E908B7972","rssi":-83,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:51.089Z","mac":"C300003947C4","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C2A0F0002C3300B152F8504"},{"timestamp":"2026-02-09T00:36:51.124Z","mac":"504C97555B00","rssi":-80,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:51.366Z","mac":"E017085443A7","rssi":-82,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:51.413Z","mac":"C3000057B9E8","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70206F29EAE"},{"timestamp":"2026-02-09T00:36:51.708Z","mac":"504C97555B00","rssi":-79,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:51.739Z","mac":"F045AEE31DB4","rssi":-77,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:51.810Z","mac":"C3000057B9F5","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E607BA7866"},{"timestamp":"2026-02-09T00:36:51.875Z","mac":"C3000057B9E6","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B406F50068"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:50.891Z","type":"Gateway","mac":"AC233FC1DD4B","nums":3},{"timestamp":"2026-02-09T00:36:51.098Z","mac":"C3000057B9DC","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC340776BBEE"},{"timestamp":"2026-02-09T00:36:51.411Z","mac":"C3000057B9E8","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70206F29EAE"},{"timestamp":"2026-02-09T00:36:51.704Z","mac":"C3000057B9D9","rssi":-64,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFFA075D6716"}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:50.891Z","type":"Gateway","mac":"AC233FC1DD48","nums":3},{"timestamp":"2026-02-09T00:36:51.237Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:51.705Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:51.801Z","mac":"C3000057B9F5","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E607BA7866"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:51.102Z","type":"Gateway","mac":"AC233FC1DD4E","nums":6},{"timestamp":"2026-02-09T00:36:51.735Z","mac":"F045AEE31DB4","rssi":-74,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:51.806Z","mac":"C3000057B9F5","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E607BA7866"},{"timestamp":"2026-02-09T00:36:51.837Z","mac":"E6E749BA2D00","rssi":-86,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:51.886Z","mac":"C300003946AC","rssi":-80,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:51.896Z","mac":"C3000057B9F4","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB207BE440A"},{"timestamp":"2026-02-09T00:36:51.939Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:51.100Z","type":"Gateway","mac":"AC233FC1DCCD","nums":5},{"timestamp":"2026-02-09T00:36:51.213Z","mac":"C3000057B9DB","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C2710000204665607B0D4BE"},{"timestamp":"2026-02-09T00:36:51.268Z","mac":"C3000057B9F1","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0C06E55ABE"},{"timestamp":"2026-02-09T00:36:51.873Z","mac":"C3000057B9E6","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B406F50068"},{"timestamp":"2026-02-09T00:36:51.887Z","mac":"C300003946AC","rssi":-77,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:51.897Z","mac":"C3000057B9F4","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB207BE440A"}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:51.199Z","type":"Gateway","mac":"AC233FC1DCD1","nums":13},{"timestamp":"2026-02-09T00:36:51.360Z","mac":"E017085443A7","rssi":-42,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:51.407Z","mac":"C3000057B9E8","rssi":-57,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70206F29EAE"},{"timestamp":"2026-02-09T00:36:51.700Z","mac":"C3000057B9D9","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFFA075D6716"},{"timestamp":"2026-02-09T00:36:51.734Z","mac":"F045AEE31DB4","rssi":-36,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:51.735Z","mac":"D920A4A6D237","rssi":-54,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:51.777Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:51.873Z","mac":"C3000057B9E6","rssi":-53,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B406F50068"},{"timestamp":"2026-02-09T00:36:51.887Z","mac":"C300003946AC","rssi":-58,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:51.897Z","mac":"C3000057B9F4","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB207BE440A"},{"timestamp":"2026-02-09T00:36:52.085Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1D03095336"},{"timestamp":"2026-02-09T00:36:52.095Z","mac":"C300003947C4","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2A100002C3300C152F850E"},{"timestamp":"2026-02-09T00:36:52.097Z","mac":"C3000057B9D4","rssi":-55,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB106BB3360"},{"timestamp":"2026-02-09T00:36:52.100Z","mac":"C3000057B9DC","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC350776BBF8"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:51.193Z","type":"Gateway","mac":"AC233FC1DCD3","nums":0}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:51.372Z","type":"Gateway","mac":"AC233FC1DD31","nums":4},{"timestamp":"2026-02-09T00:36:51.411Z","mac":"C3000057B9E8","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70206F29EAE"},{"timestamp":"2026-02-09T00:36:51.704Z","mac":"C3000057B9D9","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFFA075D6716"},{"timestamp":"2026-02-09T00:36:51.737Z","mac":"F045AEE31DB4","rssi":-80,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:52.058Z","mac":"D54E908B7972","rssi":-84,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:51.382Z","type":"Gateway","mac":"AC233FC1DCEE","nums":4},{"timestamp":"2026-02-09T00:36:51.484Z","mac":"C3000057B9E7","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C4190710B506"},{"timestamp":"2026-02-09T00:36:52.094Z","mac":"C300003947C4","rssi":-84,"rawData":"0201060303AAFE1116AAFE20000C2A100002C3300C152F850E"},{"timestamp":"2026-02-09T00:36:52.096Z","mac":"C3000057B9D4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB106BB3360"},{"timestamp":"2026-02-09T00:36:52.368Z","mac":"E017085443A7","rssi":-81,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:51.495Z","type":"Gateway","mac":"AC233FC1DCD2","nums":13},{"timestamp":"2026-02-09T00:36:51.706Z","mac":"C3000057B9D9","rssi":-64,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFFA075D6716"},{"timestamp":"2026-02-09T00:36:51.779Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:52.058Z","mac":"D54E908B7972","rssi":-71,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:52.087Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1D03095336"},{"timestamp":"2026-02-09T00:36:52.097Z","mac":"C300003947C4","rssi":-57,"rawData":"0201060303AAFE1116AAFE20000C2A100002C3300C152F850E"},{"timestamp":"2026-02-09T00:36:52.100Z","mac":"C3000057B9D4","rssi":-66,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB106BB3360"},{"timestamp":"2026-02-09T00:36:52.102Z","mac":"C3000057B9DC","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC350776BBF8"},{"timestamp":"2026-02-09T00:36:52.178Z","mac":"A0D05BD2E2E5","rssi":-80,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:52.222Z","mac":"C3000057B9DB","rssi":-52,"rawData":"0201060303AAFE1116AAFE20000C2710000204665707B0D4C8"},{"timestamp":"2026-02-09T00:36:52.283Z","mac":"C3000057B9F1","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0D06E55AC8"},{"timestamp":"2026-02-09T00:36:52.372Z","mac":"E017085443A7","rssi":-46,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:52.397Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1D03095336"},{"timestamp":"2026-02-09T00:36:52.491Z","mac":"A0D05BD2E2E5","rssi":-79,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:51.505Z","type":"Gateway","mac":"AC233FC1DCCB","nums":4},{"timestamp":"2026-02-09T00:36:51.706Z","mac":"C3000057B9D9","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFFA075D6716"},{"timestamp":"2026-02-09T00:36:51.739Z","mac":"F045AEE31DB4","rssi":-67,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:52.060Z","mac":"D54E908B7972","rssi":-74,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:52.102Z","mac":"C3000057B9DC","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC350776BBF8"}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:51.603Z","type":"Gateway","mac":"AC233FC1DD49","nums":1},{"timestamp":"2026-02-09T00:36:52.419Z","mac":"C3000057B9E8","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70306F29EB8"}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:51.711Z","type":"Gateway","mac":"AC233FC1DD51","nums":2},{"timestamp":"2026-02-09T00:36:51.898Z","mac":"C3000057B9F4","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB207BE440A"},{"timestamp":"2026-02-09T00:36:52.220Z","mac":"C3000057B9DB","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C2710000204665707B0D4C8"}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:51.591Z","type":"Gateway","mac":"AC233FC1DD40","nums":2},{"timestamp":"2026-02-09T00:36:52.095Z","mac":"C3000057B9DC","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC350776BBF8"},{"timestamp":"2026-02-09T00:36:52.214Z","mac":"C3000057B9DB","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C2710000204665707B0D4C8"}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:51.714Z","type":"Gateway","mac":"AC233FC1DD3C","nums":6},{"timestamp":"2026-02-09T00:36:51.739Z","mac":"F045AEE31DB4","rssi":-76,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:51.740Z","mac":"D920A4A6D237","rssi":-83,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:52.099Z","mac":"504C97555B00","rssi":-81,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:52.298Z","mac":"504C97555B00","rssi":-77,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:52.492Z","mac":"504C97555B00","rssi":-85,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:52.497Z","mac":"C3000057B9E7","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C41A0710B510"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:51.751Z","type":"Gateway","mac":"AC233FC1DD50","nums":0}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:51.899Z","type":"Gateway","mac":"AC233FC1DD48","nums":7},{"timestamp":"2026-02-09T00:36:52.169Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:52.213Z","mac":"C3000057B9DB","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C2710000204665707B0D4C8"},{"timestamp":"2026-02-09T00:36:52.482Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:52.487Z","mac":"C3000057B9DF","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F98961079444F2"},{"timestamp":"2026-02-09T00:36:52.636Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:52.796Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:52.809Z","mac":"C3000057B9F5","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E707BA7870"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:51.901Z","type":"Gateway","mac":"AC233FC1DD4B","nums":2},{"timestamp":"2026-02-09T00:36:52.372Z","mac":"E017085443A7","rssi":-75,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:52.900Z","mac":"C3000057B9F4","rssi":-63,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB307BE4414"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:51.882Z","type":"Gateway","mac":"AC233FC1DD55","nums":6},{"timestamp":"2026-02-09T00:36:52.283Z","mac":"C3000057B9F1","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0D06E55AC8"},{"timestamp":"2026-02-09T00:36:52.298Z","mac":"504C97555B00","rssi":-80,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:52.419Z","mac":"C3000057B9E8","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70306F29EB8"},{"timestamp":"2026-02-09T00:36:52.492Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:52.733Z","mac":"F045AEE31DB4","rssi":-76,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:52.902Z","mac":"C3000057B9F4","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB307BE4414"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:52.040Z","type":"Gateway","mac":"AC233FC1DD4E","nums":8},{"timestamp":"2026-02-09T00:36:52.570Z","mac":"E6E749BA2D00","rssi":-76,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:52.703Z","mac":"C3000057B9D9","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFFB075D6720"},{"timestamp":"2026-02-09T00:36:52.729Z","mac":"F045AEE31DB4","rssi":-83,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:52.783Z","mac":"E6E749BA2D00","rssi":-84,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:52.795Z","mac":"0BC8DA14CEAC","rssi":-81,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:52.814Z","mac":"C3000057B9F5","rssi":-58,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E707BA7870"},{"timestamp":"2026-02-09T00:36:52.885Z","mac":"E6E749BA2D00","rssi":-78,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:52.898Z","mac":"C3000057B9F4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB307BE4414"}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:52.100Z","type":"Gateway","mac":"AC233FC1DCCD","nums":7},{"timestamp":"2026-02-09T00:36:52.201Z","mac":"E43883D93326","rssi":-86,"rawData":"1106B93D2E1D72D12592F94FD44ACDC5392109162A25E43883D93324"},{"timestamp":"2026-02-09T00:36:52.219Z","mac":"C3000057B9DB","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2710000204665707B0D4C8"},{"timestamp":"2026-02-09T00:36:52.493Z","mac":"C3000057B9DF","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F98961079444F2"},{"timestamp":"2026-02-09T00:36:52.494Z","mac":"C3000057B9E7","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C41A0710B510"},{"timestamp":"2026-02-09T00:36:52.523Z","mac":"C3000057B9DD","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C300E0001F9C82D079221AE"},{"timestamp":"2026-02-09T00:36:52.816Z","mac":"C3000057B9F5","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E707BA7870"},{"timestamp":"2026-02-09T00:36:53.100Z","mac":"C300003947C4","rssi":-70,"rawData":"0201060303AAFE1116AAFE20000C2D0F0002C3300D152F8518"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:52.193Z","type":"Gateway","mac":"AC233FC1DCD3","nums":1},{"timestamp":"2026-02-09T00:36:53.101Z","mac":"C3000057B9DC","rssi":-85,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC360776BC02"}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:52.354Z","type":"Gateway","mac":"AC233FC1DD31","nums":5},{"timestamp":"2026-02-09T00:36:52.372Z","mac":"E017085443A7","rssi":-65,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:52.902Z","mac":"C3000057B9F4","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB307BE4414"},{"timestamp":"2026-02-09T00:36:53.235Z","mac":"C3000057B9DB","rssi":-46,"rawData":"0201060303AAFE1116AAFE20000C2710000204665807B0D4D2"},{"timestamp":"2026-02-09T00:36:53.291Z","mac":"C3000057B9F1","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0E06E55AD2"},{"timestamp":"2026-02-09T00:36:53.307Z","mac":"C7AE561E38B7","rssi":-59,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:52.199Z","type":"Gateway","mac":"AC233FC1DCD1","nums":13},{"timestamp":"2026-02-09T00:36:52.278Z","mac":"C3000057B9F1","rssi":-44,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0D06E55AC8"},{"timestamp":"2026-02-09T00:36:52.369Z","mac":"E017085443A7","rssi":-44,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:52.609Z","mac":"C300003946B1","rssi":-64,"rawData":"0201060303F1FF1716E2C56DB5DFFB48D2B060D0F5A71096E000000000EC26"},{"timestamp":"2026-02-09T00:36:52.704Z","mac":"C3000057B9D9","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFFB075D6720"},{"timestamp":"2026-02-09T00:36:52.730Z","mac":"F045AEE31DB4","rssi":-34,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:52.737Z","mac":"D920A4A6D237","rssi":-54,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:52.816Z","mac":"C3000057B9F5","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E707BA7870"},{"timestamp":"2026-02-09T00:36:52.878Z","mac":"C3000057B9E6","rssi":-51,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B506F50072"},{"timestamp":"2026-02-09T00:36:52.891Z","mac":"C300003946B1","rssi":-47,"rawData":"0201060303E1FF1116E1FFA10826B146390000C34D57423031"},{"timestamp":"2026-02-09T00:36:52.896Z","mac":"C3000057B9F4","rssi":-70,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB307BE4414"},{"timestamp":"2026-02-09T00:36:53.062Z","mac":"D54E908B7972","rssi":-58,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:53.100Z","mac":"C300003947C4","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C2D0F0002C3300D152F8518"},{"timestamp":"2026-02-09T00:36:53.109Z","mac":"C3000057B9D4","rssi":-63,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB206BB336A"}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:52.374Z","type":"Gateway","mac":"AC233FC1DCEE","nums":2},{"timestamp":"2026-02-09T00:36:53.099Z","mac":"C300003947C4","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C2D0F0002C3300D152F8518"},{"timestamp":"2026-02-09T00:36:53.107Z","mac":"C3000057B9D4","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB206BB336A"}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:52.523Z","type":"Gateway","mac":"AC233FC1DD49","nums":3},{"timestamp":"2026-02-09T00:36:52.896Z","mac":"C300003946B1","rssi":-84,"rawData":"0201060303E1FF1116E1FFA10826B146390000C34D57423031"},{"timestamp":"2026-02-09T00:36:53.102Z","mac":"C300003947C4","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C2D0F0002C3300D152F8518"},{"timestamp":"2026-02-09T00:36:53.364Z","mac":"E017085443A7","rssi":-79,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:52.611Z","type":"Gateway","mac":"AC233FC1DD40","nums":1},{"timestamp":"2026-02-09T00:36:53.357Z","mac":"E017085443A7","rssi":-81,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:52.506Z","type":"Gateway","mac":"AC233FC1DCCB","nums":3},{"timestamp":"2026-02-09T00:36:53.236Z","mac":"C3000057B9DB","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2710000204665807B0D4D2"},{"timestamp":"2026-02-09T00:36:53.293Z","mac":"C3000057B9F1","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0E06E55AD2"},{"timestamp":"2026-02-09T00:36:53.531Z","mac":"C3000057B9DD","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C270E0001F9C82E079221B8"}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:52.501Z","type":"Gateway","mac":"AC233FC1DCD2","nums":18},{"timestamp":"2026-02-09T00:36:52.496Z","mac":"C3000057B9DF","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F98961079444F2"},{"timestamp":"2026-02-09T00:36:52.497Z","mac":"C3000057B9E7","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C41A0710B510"},{"timestamp":"2026-02-09T00:36:52.699Z","mac":"C7AE561E38B7","rssi":-78,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1D03095336"},{"timestamp":"2026-02-09T00:36:52.706Z","mac":"C3000057B9D9","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFFB075D6720"},{"timestamp":"2026-02-09T00:36:53.005Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:53.065Z","mac":"D54E908B7972","rssi":-76,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:53.102Z","mac":"C300003947C4","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C2D0F0002C3300D152F8518"},{"timestamp":"2026-02-09T00:36:53.103Z","mac":"C3000057B9DC","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC360776BC02"},{"timestamp":"2026-02-09T00:36:53.107Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:53.111Z","mac":"C3000057B9D4","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB206BB336A"},{"timestamp":"2026-02-09T00:36:53.236Z","mac":"C3000057B9DB","rssi":-58,"rawData":"0201060303AAFE1116AAFE20000C2710000204665807B0D4D2"},{"timestamp":"2026-02-09T00:36:53.264Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:53.291Z","mac":"C3000057B9F1","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0E06E55AD2"},{"timestamp":"2026-02-09T00:36:53.306Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:53.365Z","mac":"E017085443A7","rssi":-51,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:53.415Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:53.421Z","mac":"C3000057B9E8","rssi":-62,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70406F29EC2"},{"timestamp":"2026-02-09T00:36:53.506Z","mac":"C3000057B9DF","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F98962079444FC"}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:52.695Z","type":"Gateway","mac":"AC233FC1DD3C","nums":5},{"timestamp":"2026-02-09T00:36:53.276Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:53.421Z","mac":"C3000057B9E8","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70406F29EC2"},{"timestamp":"2026-02-09T00:36:53.473Z","mac":"504C97555B00","rssi":-85,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:53.666Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:53.738Z","mac":"F045AEE31DB4","rssi":-81,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:52.621Z","type":"Gateway","mac":"AC233FC1DD51","nums":1},{"timestamp":"2026-02-09T00:36:53.363Z","mac":"E017085443A7","rssi":-79,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:52.750Z","type":"Gateway","mac":"AC233FC1DD50","nums":1},{"timestamp":"2026-02-09T00:36:53.101Z","mac":"C3000057B9DC","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC360776BC02"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:52.908Z","type":"Gateway","mac":"AC233FC1DD55","nums":3},{"timestamp":"2026-02-09T00:36:53.276Z","mac":"504C97555B00","rssi":-81,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:53.739Z","mac":"F045AEE31DB4","rssi":-80,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:53.859Z","mac":"504C97555B00","rssi":-81,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:52.905Z","type":"Gateway","mac":"AC233FC1DD4B","nums":7},{"timestamp":"2026-02-09T00:36:53.235Z","mac":"C3000057B9DB","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C2710000204665807B0D4D2"},{"timestamp":"2026-02-09T00:36:53.307Z","mac":"C7AE561E38B7","rssi":-69,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:53.505Z","mac":"C3000057B9E7","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C41B0710B51A"},{"timestamp":"2026-02-09T00:36:53.529Z","mac":"C3000057B9DD","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C270E0001F9C82E079221B8"},{"timestamp":"2026-02-09T00:36:53.823Z","mac":"C3000057B9F5","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E807BA787A"},{"timestamp":"2026-02-09T00:36:53.874Z","mac":"C3000057B9E6","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B606F5007C"},{"timestamp":"2026-02-09T00:36:53.891Z","mac":"C300003946AC","rssi":-71,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:53.104Z","type":"Gateway","mac":"AC233FC1DD4E","nums":13},{"timestamp":"2026-02-09T00:36:53.099Z","mac":"C300003947C4","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C2D0F0002C3300D152F8518"},{"timestamp":"2026-02-09T00:36:53.100Z","mac":"C3000057B9DC","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC360776BC02"},{"timestamp":"2026-02-09T00:36:53.233Z","mac":"C3000057B9DB","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C2710000204665807B0D4D2"},{"timestamp":"2026-02-09T00:36:53.303Z","mac":"C7AE561E38B7","rssi":-75,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:53.528Z","mac":"C3000057B9DD","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C270E0001F9C82E079221B8"},{"timestamp":"2026-02-09T00:36:53.714Z","mac":"C3000057B9D9","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFFC075D672A"},{"timestamp":"2026-02-09T00:36:53.727Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:53.743Z","mac":"0BC8DA14CEAC","rssi":-81,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:53.822Z","mac":"C3000057B9F5","rssi":-64,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E807BA787A"},{"timestamp":"2026-02-09T00:36:53.830Z","mac":"E6E749BA2D00","rssi":-83,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:53.889Z","mac":"C300003946AC","rssi":-82,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:53.902Z","mac":"C3000057B9F4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB407BE441E"},{"timestamp":"2026-02-09T00:36:53.917Z","mac":"C7AE561E38B7","rssi":-75,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:53.106Z","type":"Gateway","mac":"AC233FC1DCCD","nums":6},{"timestamp":"2026-02-09T00:36:53.108Z","mac":"C3000057B9D4","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB206BB336A"},{"timestamp":"2026-02-09T00:36:53.362Z","mac":"E017085443A7","rssi":-80,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:53.418Z","mac":"C3000057B9E8","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70406F29EC2"},{"timestamp":"2026-02-09T00:36:53.715Z","mac":"C3000057B9D9","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFFC075D672A"},{"timestamp":"2026-02-09T00:36:53.736Z","mac":"F045AEE31DB4","rssi":-74,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:53.740Z","mac":"D920A4A6D237","rssi":-82,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:52.911Z","type":"Gateway","mac":"AC233FC1DD48","nums":4},{"timestamp":"2026-02-09T00:36:53.098Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:53.407Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:53.708Z","mac":"C3000057B9D9","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFFC075D672A"},{"timestamp":"2026-02-09T00:36:53.866Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:53.204Z","type":"Gateway","mac":"AC233FC1DCD3","nums":1},{"timestamp":"2026-02-09T00:36:54.107Z","mac":"C3000057B9DC","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC370776BC0C"}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:53.209Z","type":"Gateway","mac":"AC233FC1DCD1","nums":14},{"timestamp":"2026-02-09T00:36:53.231Z","mac":"C3000057B9DB","rssi":-70,"rawData":"0201060303AAFE1116AAFE20000C2710000204665807B0D4D2"},{"timestamp":"2026-02-09T00:36:53.288Z","mac":"C3000057B9F1","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0E06E55AD2"},{"timestamp":"2026-02-09T00:36:53.304Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:53.501Z","mac":"C3000057B9DF","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F98962079444FC"},{"timestamp":"2026-02-09T00:36:53.503Z","mac":"C3000057B9E7","rssi":-50,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C41B0710B51A"},{"timestamp":"2026-02-09T00:36:53.820Z","mac":"C3000057B9F5","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E807BA787A"},{"timestamp":"2026-02-09T00:36:53.870Z","mac":"C3000057B9E6","rssi":-51,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B606F5007C"},{"timestamp":"2026-02-09T00:36:53.889Z","mac":"C300003946AC","rssi":-64,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:53.901Z","mac":"C3000057B9F4","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB407BE441E"},{"timestamp":"2026-02-09T00:36:53.918Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"},{"timestamp":"2026-02-09T00:36:54.063Z","mac":"D54E908B7972","rssi":-59,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:54.104Z","mac":"C3000057B9DC","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC370776BC0C"},{"timestamp":"2026-02-09T00:36:54.113Z","mac":"C300003947C4","rssi":-53,"rawData":"0201060303AAFE1116AAFE20000C2D0F0002C3300E152F8522"},{"timestamp":"2026-02-09T00:36:54.115Z","mac":"C3000057B9D4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB306BB3374"}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:53.302Z","type":"Gateway","mac":"AC233FC1DCEE","nums":1},{"timestamp":"2026-02-09T00:36:54.116Z","mac":"C300003947C4","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C2D0F0002C3300E152F8522"}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:53.313Z","type":"Gateway","mac":"AC233FC1DD31","nums":10},{"timestamp":"2026-02-09T00:36:53.507Z","mac":"C3000057B9DF","rssi":-67,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F98962079444FC"},{"timestamp":"2026-02-09T00:36:53.508Z","mac":"C3000057B9E7","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C41B0710B51A"},{"timestamp":"2026-02-09T00:36:53.529Z","mac":"C3000057B9DD","rssi":-66,"rawData":"0201060303AAFE1116AAFE20000C270E0001F9C82E079221B8"},{"timestamp":"2026-02-09T00:36:53.823Z","mac":"C3000057B9F5","rssi":-30,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E807BA787A"},{"timestamp":"2026-02-09T00:36:53.874Z","mac":"C3000057B9E6","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B606F5007C"},{"timestamp":"2026-02-09T00:36:53.891Z","mac":"C300003946AC","rssi":-75,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:53.904Z","mac":"C3000057B9F4","rssi":-46,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB407BE441E"},{"timestamp":"2026-02-09T00:36:54.110Z","mac":"C3000057B9DC","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC370776BC0C"},{"timestamp":"2026-02-09T00:36:54.120Z","mac":"C3000057B9D4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB306BB3374"},{"timestamp":"2026-02-09T00:36:54.228Z","mac":"C7AE561E38B7","rssi":-64,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:53.563Z","type":"Gateway","mac":"AC233FC1DD49","nums":1},{"timestamp":"2026-02-09T00:36:54.118Z","mac":"C300003947C4","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C2D0F0002C3300E152F8522"}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:53.537Z","type":"Gateway","mac":"AC233FC1DCCB","nums":4},{"timestamp":"2026-02-09T00:36:53.893Z","mac":"C300003946AC","rssi":-76,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:53.906Z","mac":"C3000057B9F4","rssi":-66,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB407BE441E"},{"timestamp":"2026-02-09T00:36:54.243Z","mac":"C3000057B9DB","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C2710000204665907B0D4DC"},{"timestamp":"2026-02-09T00:36:54.525Z","mac":"C3000057B9DF","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9896307944510"}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:53.561Z","type":"Gateway","mac":"AC233FC1DD40","nums":4},{"timestamp":"2026-02-09T00:36:53.817Z","mac":"C3000057B9F5","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E807BA787A"},{"timestamp":"2026-02-09T00:36:53.896Z","mac":"C3000057B9F4","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB407BE441E"},{"timestamp":"2026-02-09T00:36:54.102Z","mac":"C3000057B9DC","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC370776BC0C"},{"timestamp":"2026-02-09T00:36:54.361Z","mac":"E017085443A7","rssi":-80,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:53.515Z","type":"Gateway","mac":"AC233FC1DCD2","nums":14},{"timestamp":"2026-02-09T00:36:53.507Z","mac":"C3000057B9E7","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C41B0710B51A"},{"timestamp":"2026-02-09T00:36:53.531Z","mac":"C3000057B9DD","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C270E0001F9C82E079221B8"},{"timestamp":"2026-02-09T00:36:53.570Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:53.616Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:53.891Z","mac":"C300003946AC","rssi":-55,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:53.904Z","mac":"C3000057B9F4","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB407BE441E"},{"timestamp":"2026-02-09T00:36:53.920Z","mac":"C7AE561E38B7","rssi":-78,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"},{"timestamp":"2026-02-09T00:36:54.185Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:54.226Z","mac":"C7AE561E38B7","rssi":-80,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"},{"timestamp":"2026-02-09T00:36:54.243Z","mac":"C3000057B9DB","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C2710000204665907B0D4DC"},{"timestamp":"2026-02-09T00:36:54.301Z","mac":"C3000057B9F1","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0F06E55ADC"},{"timestamp":"2026-02-09T00:36:54.335Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:54.369Z","mac":"E017085443A7","rssi":-51,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:54.415Z","mac":"C3000057B9E8","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70506F29ECC"}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:53.661Z","type":"Gateway","mac":"AC233FC1DD51","nums":2},{"timestamp":"2026-02-09T00:36:53.715Z","mac":"C3000057B9D9","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFFC075D672A"},{"timestamp":"2026-02-09T00:36:54.365Z","mac":"E017085443A7","rssi":-80,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:53.801Z","type":"Gateway","mac":"AC233FC1DD50","nums":0}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:53.746Z","type":"Gateway","mac":"AC233FC1DD3C","nums":7},{"timestamp":"2026-02-09T00:36:53.743Z","mac":"D920A4A6D237","rssi":-80,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:53.859Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:54.244Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:54.369Z","mac":"E017085443A7","rssi":-76,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:54.415Z","mac":"C3000057B9E8","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70506F29ECC"},{"timestamp":"2026-02-09T00:36:54.443Z","mac":"504C97555B00","rssi":-75,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:54.738Z","mac":"F045AEE31DB4","rssi":-76,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:53.865Z","type":"Gateway","mac":"AC233FC1DD55","nums":10},{"timestamp":"2026-02-09T00:36:53.876Z","mac":"C3000057B9E6","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B606F5007C"},{"timestamp":"2026-02-09T00:36:53.904Z","mac":"C3000057B9F4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB407BE441E"},{"timestamp":"2026-02-09T00:36:54.119Z","mac":"C300003947C4","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C2D0F0002C3300E152F8522"},{"timestamp":"2026-02-09T00:36:54.120Z","mac":"C3000057B9D4","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB306BB3374"},{"timestamp":"2026-02-09T00:36:54.416Z","mac":"C3000057B9E8","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70506F29ECC"},{"timestamp":"2026-02-09T00:36:54.443Z","mac":"504C97555B00","rssi":-80,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:54.525Z","mac":"C3000057B9E7","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C41C0710B524"},{"timestamp":"2026-02-09T00:36:54.638Z","mac":"504C97555B00","rssi":-83,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:54.738Z","mac":"F045AEE31DB4","rssi":-78,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:54.904Z","mac":"C3000057B9F4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB507BE4428"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:53.897Z","type":"Gateway","mac":"AC233FC1DD4B","nums":11},{"timestamp":"2026-02-09T00:36:53.904Z","mac":"C3000057B9F4","rssi":-64,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB407BE441E"},{"timestamp":"2026-02-09T00:36:53.921Z","mac":"C7AE561E38B7","rssi":-71,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"},{"timestamp":"2026-02-09T00:36:54.110Z","mac":"C3000057B9DC","rssi":-62,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC370776BC0C"},{"timestamp":"2026-02-09T00:36:54.228Z","mac":"C7AE561E38B7","rssi":-69,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"},{"timestamp":"2026-02-09T00:36:54.524Z","mac":"C3000057B9DF","rssi":-55,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9896307944510"},{"timestamp":"2026-02-09T00:36:54.532Z","mac":"C7AE561E38B7","rssi":-69,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"},{"timestamp":"2026-02-09T00:36:54.533Z","mac":"C3000057B9DD","rssi":-62,"rawData":"0201060303AAFE1116AAFE20000C270E0001F9C82F079221C2"},{"timestamp":"2026-02-09T00:36:54.730Z","mac":"C3000057B9D9","rssi":-63,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFFD075D6734"},{"timestamp":"2026-02-09T00:36:54.737Z","mac":"F045AEE31DB4","rssi":-80,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:54.838Z","mac":"C7AE561E38B7","rssi":-69,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"},{"timestamp":"2026-02-09T00:36:54.838Z","mac":"C3000057B9F5","rssi":-62,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E907BA7884"}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:53.970Z","type":"Gateway","mac":"AC233FC1DD48","nums":5},{"timestamp":"2026-02-09T00:36:54.022Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:54.327Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:54.787Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:54.828Z","mac":"C3000057B9F5","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E907BA7884"},{"timestamp":"2026-02-09T00:36:54.895Z","mac":"C3000057B9F4","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB507BE4428"}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:54.039Z","type":"Gateway","mac":"AC233FC1DCCD","nums":4},{"timestamp":"2026-02-09T00:36:54.063Z","mac":"D54E908B7972","rssi":-85,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:54.298Z","mac":"C3000057B9F1","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC0F06E55ADC"},{"timestamp":"2026-02-09T00:36:54.366Z","mac":"E017085443A7","rssi":-70,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:54.902Z","mac":"C3000057B9F4","rssi":-60,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB507BE4428"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:54.022Z","type":"Gateway","mac":"AC233FC1DD4E","nums":13},{"timestamp":"2026-02-09T00:36:54.105Z","mac":"C3000057B9DC","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC370776BC0C"},{"timestamp":"2026-02-09T00:36:54.223Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"},{"timestamp":"2026-02-09T00:36:54.520Z","mac":"C3000057B9DF","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9896307944510"},{"timestamp":"2026-02-09T00:36:54.521Z","mac":"C3000057B9E7","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C41C0710B524"},{"timestamp":"2026-02-09T00:36:54.528Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"},{"timestamp":"2026-02-09T00:36:54.529Z","mac":"C3000057B9DD","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C270E0001F9C82F079221C2"},{"timestamp":"2026-02-09T00:36:54.658Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:54.735Z","mac":"F045AEE31DB4","rssi":-74,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:54.833Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"},{"timestamp":"2026-02-09T00:36:54.834Z","mac":"C3000057B9F5","rssi":-61,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E907BA7884"},{"timestamp":"2026-02-09T00:36:54.901Z","mac":"C3000057B9F4","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB507BE4428"},{"timestamp":"2026-02-09T00:36:54.970Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:55.001Z","mac":"0BC8DA14CEAC","rssi":-82,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:54.219Z","type":"Gateway","mac":"AC233FC1DCD1","nums":13},{"timestamp":"2026-02-09T00:36:54.224Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"},{"timestamp":"2026-02-09T00:36:54.522Z","mac":"C3000057B9E7","rssi":-46,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C41C0710B524"},{"timestamp":"2026-02-09T00:36:54.529Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"},{"timestamp":"2026-02-09T00:36:54.727Z","mac":"C3000057B9D9","rssi":-69,"rawData":"0201060303AAFE1116AAFE20000C2D100001E7FFFD075D6734"},{"timestamp":"2026-02-09T00:36:54.733Z","mac":"F045AEE31DB4","rssi":-36,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:54.743Z","mac":"D920A4A6D237","rssi":-54,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:54.834Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"},{"timestamp":"2026-02-09T00:36:54.880Z","mac":"C3000057B9E6","rssi":-52,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B706F50086"},{"timestamp":"2026-02-09T00:36:55.062Z","mac":"D54E908B7972","rssi":-58,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:55.103Z","mac":"C3000057B9DC","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC380776BC16"},{"timestamp":"2026-02-09T00:36:55.119Z","mac":"C300003947C4","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2D100002C3300F152F852C"},{"timestamp":"2026-02-09T00:36:55.119Z","mac":"C3000057B9D4","rssi":-55,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB406BB337E"},{"timestamp":"2026-02-09T00:36:55.136Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:54.204Z","type":"Gateway","mac":"AC233FC1DCD3","nums":0}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:54.313Z","type":"Gateway","mac":"AC233FC1DCEE","nums":4},{"timestamp":"2026-02-09T00:36:54.521Z","mac":"C3000057B9E7","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C41C0710B524"},{"timestamp":"2026-02-09T00:36:54.880Z","mac":"C3000057B9E6","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B706F50086"},{"timestamp":"2026-02-09T00:36:55.118Z","mac":"C300003947C4","rssi":-85,"rawData":"0201060303AAFE1116AAFE20000C2D100002C3300F152F852C"},{"timestamp":"2026-02-09T00:36:55.119Z","mac":"C3000057B9D4","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB406BB337E"}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:54.326Z","type":"Gateway","mac":"AC233FC1DD31","nums":11},{"timestamp":"2026-02-09T00:36:54.523Z","mac":"C3000057B9DF","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9896307944510"},{"timestamp":"2026-02-09T00:36:54.532Z","mac":"C7AE561E38B7","rssi":-64,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"},{"timestamp":"2026-02-09T00:36:54.533Z","mac":"C3000057B9DD","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C270E0001F9C82F079221C2"},{"timestamp":"2026-02-09T00:36:54.737Z","mac":"F045AEE31DB4","rssi":-81,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:54.747Z","mac":"D920A4A6D237","rssi":-84,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:54.838Z","mac":"C7AE561E38B7","rssi":-64,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"},{"timestamp":"2026-02-09T00:36:54.838Z","mac":"C3000057B9F5","rssi":-32,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E907BA7884"},{"timestamp":"2026-02-09T00:36:55.066Z","mac":"D54E908B7972","rssi":-84,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:55.106Z","mac":"C3000057B9DC","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC380776BC16"},{"timestamp":"2026-02-09T00:36:55.121Z","mac":"C300003947C4","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C2D100002C3300F152F852C"},{"timestamp":"2026-02-09T00:36:55.122Z","mac":"C3000057B9D4","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB406BB337E"}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:54.531Z","type":"Gateway","mac":"AC233FC1DCCB","nums":2},{"timestamp":"2026-02-09T00:36:55.067Z","mac":"D54E908B7972","rssi":-74,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:55.108Z","mac":"C3000057B9DC","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC380776BC16"}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:54.523Z","type":"Gateway","mac":"AC233FC1DD49","nums":0}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:54.526Z","type":"Gateway","mac":"AC233FC1DCD2","nums":21},{"timestamp":"2026-02-09T00:36:54.523Z","mac":"C3000057B9DF","rssi":-66,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F9896307944510"},{"timestamp":"2026-02-09T00:36:54.524Z","mac":"C3000057B9E7","rssi":-61,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C41C0710B524"},{"timestamp":"2026-02-09T00:36:54.531Z","mac":"C7AE561E38B7","rssi":-78,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"},{"timestamp":"2026-02-09T00:36:54.532Z","mac":"C3000057B9DD","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C270E0001F9C82F079221C2"},{"timestamp":"2026-02-09T00:36:54.749Z","mac":"D920A4A6D237","rssi":-66,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:54.836Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A1F03095336"},{"timestamp":"2026-02-09T00:36:54.837Z","mac":"C3000057B9F5","rssi":-58,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1E907BA7884"},{"timestamp":"2026-02-09T00:36:55.067Z","mac":"D54E908B7972","rssi":-73,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:55.105Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:55.106Z","mac":"C3000057B9DC","rssi":-73,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC380776BC16"},{"timestamp":"2026-02-09T00:36:55.121Z","mac":"C300003947C4","rssi":-58,"rawData":"0201060303AAFE1116AAFE20000C2D100002C3300F152F852C"},{"timestamp":"2026-02-09T00:36:55.122Z","mac":"C3000057B9D4","rssi":-66,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB406BB337E"},{"timestamp":"2026-02-09T00:36:55.139Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:55.254Z","mac":"C3000057B9DB","rssi":-52,"rawData":"0201060303AAFE1116AAFE20000C2710000204665A07B0D4E6"},{"timestamp":"2026-02-09T00:36:55.279Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:55.305Z","mac":"C3000057B9F1","rssi":-68,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC1006E55AE6"},{"timestamp":"2026-02-09T00:36:55.366Z","mac":"E017085443A7","rssi":-50,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:55.417Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:55.423Z","mac":"C3000057B9E8","rssi":-63,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70606F29ED6"},{"timestamp":"2026-02-09T00:36:55.446Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:55.531Z","mac":"C3000057B9E7","rssi":-75,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C41D0710B52E"}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:54.562Z","type":"Gateway","mac":"AC233FC1DD40","nums":2},{"timestamp":"2026-02-09T00:36:55.098Z","mac":"C3000057B9DC","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC380776BC16"},{"timestamp":"2026-02-09T00:36:55.246Z","mac":"C3000057B9DB","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2710000204665A07B0D4E6"}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:54.661Z","type":"Gateway","mac":"AC233FC1DD51","nums":2},{"timestamp":"2026-02-09T00:36:54.903Z","mac":"C3000057B9F4","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB507BE4428"},{"timestamp":"2026-02-09T00:36:55.252Z","mac":"C3000057B9DB","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C2710000204665A07B0D4E6"}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:54.745Z","type":"Gateway","mac":"AC233FC1DD3C","nums":5},{"timestamp":"2026-02-09T00:36:54.748Z","mac":"D920A4A6D237","rssi":-83,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:55.366Z","mac":"E017085443A7","rssi":-75,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:55.415Z","mac":"504C97555B00","rssi":-76,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:55.423Z","mac":"C3000057B9E8","rssi":-83,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70606F29ED6"},{"timestamp":"2026-02-09T00:36:55.531Z","mac":"C3000057B9E7","rssi":-84,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C41D0710B52E"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:54.911Z","type":"Gateway","mac":"AC233FC1DD55","nums":8},{"timestamp":"2026-02-09T00:36:55.032Z","mac":"504C97555B00","rssi":-80,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:55.121Z","mac":"C300003947C4","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C2D100002C3300F152F852C"},{"timestamp":"2026-02-09T00:36:55.122Z","mac":"C3000057B9D4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C570E0002000BB406BB337E"},{"timestamp":"2026-02-09T00:36:55.366Z","mac":"E017085443A7","rssi":-82,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:55.416Z","mac":"504C97555B00","rssi":-80,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:55.423Z","mac":"C3000057B9E8","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70606F29ED6"},{"timestamp":"2026-02-09T00:36:55.608Z","mac":"504C97555B00","rssi":-83,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:55.736Z","mac":"F045AEE31DB4","rssi":-75,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:54.800Z","type":"Gateway","mac":"AC233FC1DD50","nums":1},{"timestamp":"2026-02-09T00:36:55.520Z","mac":"3868A460B93E","rssi":-82,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:54.900Z","type":"Gateway","mac":"AC233FC1DD48","nums":5},{"timestamp":"2026-02-09T00:36:54.944Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:55.270Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:55.533Z","mac":"C3000057B9DF","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F989640794451A"},{"timestamp":"2026-02-09T00:36:55.561Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:55.844Z","mac":"C3000057B9F5","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1EA07BA788E"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:54.942Z","type":"Gateway","mac":"AC233FC1DD4B","nums":7},{"timestamp":"2026-02-09T00:36:55.106Z","mac":"C3000057B9DC","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC380776BC16"},{"timestamp":"2026-02-09T00:36:55.140Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:55.365Z","mac":"E017085443A7","rssi":-74,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:55.447Z","mac":"C7AE561E38B7","rssi":-69,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:55.730Z","mac":"C3000057B9D9","rssi":-63,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFFE075D673E"},{"timestamp":"2026-02-09T00:36:55.736Z","mac":"F045AEE31DB4","rssi":-79,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:55.752Z","mac":"C7AE561E38B7","rssi":-69,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:55.102Z","type":"Gateway","mac":"AC233FC1DD4E","nums":7},{"timestamp":"2026-02-09T00:36:55.104Z","mac":"C3000057B9DC","rssi":-62,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC380776BC16"},{"timestamp":"2026-02-09T00:36:55.135Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:55.394Z","mac":"E6E749BA2D00","rssi":-83,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:55.443Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:55.709Z","mac":"E6E749BA2D00","rssi":-83,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:55.734Z","mac":"F045AEE31DB4","rssi":-72,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:55.748Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"}] +publish_out/ac233fc1dccd [{"timestamp":"2026-02-09T00:36:55.100Z","type":"Gateway","mac":"AC233FC1DCCD","nums":8},{"timestamp":"2026-02-09T00:36:55.252Z","mac":"C3000057B9DB","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C2710000204665A07B0D4E6"},{"timestamp":"2026-02-09T00:36:55.528Z","mac":"C3000057B9E7","rssi":-80,"rawData":"0201060303AAFE1116AAFE20000C39120001F7C41D0710B52E"},{"timestamp":"2026-02-09T00:36:55.539Z","mac":"C3000057B9DF","rssi":-71,"rawData":"0201060303AAFE1116AAFE20000C2D0B0001F989640794451A"},{"timestamp":"2026-02-09T00:36:55.541Z","mac":"C3000057B9DD","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C270E0001F9C830079221CC"},{"timestamp":"2026-02-09T00:36:55.851Z","mac":"C3000057B9F5","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1EA07BA788E"},{"timestamp":"2026-02-09T00:36:55.883Z","mac":"C3000057B9E6","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B806F50090"},{"timestamp":"2026-02-09T00:36:55.891Z","mac":"C300003946AC","rssi":-76,"rawData":"0201060303E1FF1116E1FFA10864AC46390000C34D57423031"},{"timestamp":"2026-02-09T00:36:55.907Z","mac":"C3000057B9F4","rssi":-70,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB607BE4432"}] +publish_out/ac233fc1dcd1 [{"timestamp":"2026-02-09T00:36:55.239Z","type":"Gateway","mac":"AC233FC1DCD1","nums":11},{"timestamp":"2026-02-09T00:36:55.361Z","mac":"E017085443A7","rssi":-42,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:55.421Z","mac":"C3000057B9E8","rssi":-58,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70606F29ED6"},{"timestamp":"2026-02-09T00:36:55.444Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:55.727Z","mac":"C3000057B9D9","rssi":-74,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFFE075D673E"},{"timestamp":"2026-02-09T00:36:55.733Z","mac":"F045AEE31DB4","rssi":-33,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:55.749Z","mac":"C7AE561E38B7","rssi":-71,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:55.754Z","mac":"D920A4A6D237","rssi":-53,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:56.054Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A2103095336"},{"timestamp":"2026-02-09T00:36:56.064Z","mac":"D54E908B7972","rssi":-58,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:56.110Z","mac":"C3000057B9DC","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C2D100001F0BC390776BC20"},{"timestamp":"2026-02-09T00:36:56.128Z","mac":"C300003947C4","rssi":-56,"rawData":"0201060303AAFE1116AAFE20000C2D100002C33010152F8536"}] +publish_out/ac233fc1dcd3 [{"timestamp":"2026-02-09T00:36:55.203Z","type":"Gateway","mac":"AC233FC1DCD3","nums":0}] +publish_out/ac233fc1dd31 [{"timestamp":"2026-02-09T00:36:55.326Z","type":"Gateway","mac":"AC233FC1DD31","nums":9},{"timestamp":"2026-02-09T00:36:55.364Z","mac":"E017085443A7","rssi":-65,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:55.423Z","mac":"C3000057B9E8","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70606F29ED6"},{"timestamp":"2026-02-09T00:36:55.447Z","mac":"C7AE561E38B7","rssi":-64,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:55.730Z","mac":"C3000057B9D9","rssi":-65,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFFE075D673E"},{"timestamp":"2026-02-09T00:36:55.736Z","mac":"F045AEE31DB4","rssi":-80,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:55.752Z","mac":"C7AE561E38B7","rssi":-63,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:56.057Z","mac":"C7AE561E38B7","rssi":-64,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A2103095336"},{"timestamp":"2026-02-09T00:36:56.067Z","mac":"D54E908B7972","rssi":-79,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:56.310Z","mac":"C3000057B9F1","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC1106E55AF0"}] +publish_out/ac233fc1dcee [{"timestamp":"2026-02-09T00:36:55.323Z","type":"Gateway","mac":"AC233FC1DCEE","nums":1},{"timestamp":"2026-02-09T00:36:55.733Z","mac":"F045AEE31DB4","rssi":-84,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dcd2 [{"timestamp":"2026-02-09T00:36:55.543Z","type":"Gateway","mac":"AC233FC1DCD2","nums":12},{"timestamp":"2026-02-09T00:36:55.730Z","mac":"C3000057B9D9","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFFE075D673E"},{"timestamp":"2026-02-09T00:36:55.736Z","mac":"F045AEE31DB4","rssi":-52,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:55.751Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"},{"timestamp":"2026-02-09T00:36:55.756Z","mac":"D920A4A6D237","rssi":-80,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:56.038Z","mac":"A0D05BD2E2E5","rssi":-82,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:56.056Z","mac":"C7AE561E38B7","rssi":-79,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A2103095336"},{"timestamp":"2026-02-09T00:36:56.066Z","mac":"D54E908B7972","rssi":-71,"rawData":"020106020A001216ABFE40000A0BA10001D54E908B7972300B"},{"timestamp":"2026-02-09T00:36:56.310Z","mac":"C3000057B9F1","rssi":-59,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC1106E55AF0"},{"timestamp":"2026-02-09T00:36:56.360Z","mac":"C7AE561E38B7","rssi":-78,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A2103095336"},{"timestamp":"2026-02-09T00:36:56.366Z","mac":"E017085443A7","rssi":-46,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:56.427Z","mac":"C3000057B9E8","rssi":-62,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70706F29EE0"},{"timestamp":"2026-02-09T00:36:56.500Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"}] +publish_out/ac233fc1dd49 [{"timestamp":"2026-02-09T00:36:55.523Z","type":"Gateway","mac":"AC233FC1DD49","nums":0}] +publish_out/ac233fc1dccb [{"timestamp":"2026-02-09T00:36:55.505Z","type":"Gateway","mac":"AC233FC1DCCB","nums":5},{"timestamp":"2026-02-09T00:36:55.732Z","mac":"C3000057B9D9","rssi":-79,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFFE075D673E"},{"timestamp":"2026-02-09T00:36:55.738Z","mac":"F045AEE31DB4","rssi":-67,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:55.756Z","mac":"D920A4A6D237","rssi":-77,"rawData":"020106020A001216ABFE40000A0B6D0001D920A4A6D237300B"},{"timestamp":"2026-02-09T00:36:56.312Z","mac":"C3000057B9F1","rssi":-77,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC1106E55AF0"},{"timestamp":"2026-02-09T00:36:56.366Z","mac":"E017085443A7","rssi":-68,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dd51 [{"timestamp":"2026-02-09T00:36:55.651Z","type":"Gateway","mac":"AC233FC1DD51","nums":0}] +publish_out/ac233fc1dd40 [{"timestamp":"2026-02-09T00:36:55.551Z","type":"Gateway","mac":"AC233FC1DD40","nums":1},{"timestamp":"2026-02-09T00:36:55.722Z","mac":"C3000057B9D9","rssi":-84,"rawData":"0201060303AAFE1116AAFE20000C2D0F0001E7FFFE075D673E"}] +publish_out/ac233fc1dd3c [{"timestamp":"2026-02-09T00:36:55.737Z","type":"Gateway","mac":"AC233FC1DD3C","nums":6},{"timestamp":"2026-02-09T00:36:55.736Z","mac":"F045AEE31DB4","rssi":-74,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:55.998Z","mac":"504C97555B00","rssi":-75,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:56.380Z","mac":"504C97555B00","rssi":-82,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:56.426Z","mac":"C3000057B9E8","rssi":-82,"rawData":"0201060303AAFE1116AAFE20000C30110001ECF70706F29EE0"},{"timestamp":"2026-02-09T00:36:56.579Z","mac":"504C97555B00","rssi":-75,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:56.734Z","mac":"F045AEE31DB4","rssi":-73,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"}] +publish_out/ac233fc1dd50 [{"timestamp":"2026-02-09T00:36:55.820Z","type":"Gateway","mac":"AC233FC1DD50","nums":3},{"timestamp":"2026-02-09T00:36:55.829Z","mac":"3868A460B93E","rssi":-82,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"},{"timestamp":"2026-02-09T00:36:56.142Z","mac":"3868A460B93E","rssi":-81,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"},{"timestamp":"2026-02-09T00:36:56.457Z","mac":"3868A460B93E","rssi":-81,"rawData":"1BFF750042040180603868A460B93E3A68A460B93D01020000000000"}] +publish_out/ac233fc1dd48 [{"timestamp":"2026-02-09T00:36:55.951Z","type":"Gateway","mac":"AC233FC1DD48","nums":4},{"timestamp":"2026-02-09T00:36:56.185Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:56.492Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:56.649Z","mac":"A0D05BD2E2E5","rssi":-83,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"},{"timestamp":"2026-02-09T00:36:56.803Z","mac":"A0D05BD2E2E5","rssi":-81,"rawData":"1BFF75004204018066A0D05BD2E2E5A2D05BD2E2E401050000000000"}] +publish_out/ac233fc1dd4b [{"timestamp":"2026-02-09T00:36:55.951Z","type":"Gateway","mac":"AC233FC1DD4B","nums":6},{"timestamp":"2026-02-09T00:36:56.057Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A2103095336"},{"timestamp":"2026-02-09T00:36:56.310Z","mac":"C3000057B9F1","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC1106E55AF0"},{"timestamp":"2026-02-09T00:36:56.361Z","mac":"C7AE561E38B7","rssi":-70,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A2103095336"},{"timestamp":"2026-02-09T00:36:56.367Z","mac":"E017085443A7","rssi":-77,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:56.664Z","mac":"C7AE561E38B7","rssi":-69,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A2103095336"},{"timestamp":"2026-02-09T00:36:56.889Z","mac":"C3000057B9E6","rssi":-78,"rawData":"0201060303AAFE1116AAFE20000C33100001EDC4B906F5009A"}] +publish_out/ac233fc1dd55 [{"timestamp":"2026-02-09T00:36:55.939Z","type":"Gateway","mac":"AC233FC1DD55","nums":6},{"timestamp":"2026-02-09T00:36:55.998Z","mac":"504C97555B00","rssi":-80,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:56.312Z","mac":"C3000057B9F1","rssi":-81,"rawData":"0201060303AAFE1116AAFE20000C3C120001E7CC1106E55AF0"},{"timestamp":"2026-02-09T00:36:56.366Z","mac":"E017085443A7","rssi":-71,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:56.580Z","mac":"504C97555B00","rssi":-80,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"},{"timestamp":"2026-02-09T00:36:56.735Z","mac":"F045AEE31DB4","rssi":-76,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:56.768Z","mac":"504C97555B00","rssi":-83,"rawData":"020106020A09110712A24D2EFE14488E93D2173CFFE00000051206001000"}] +publish_out/ac233fc1dd4e [{"timestamp":"2026-02-09T00:36:56.051Z","type":"Gateway","mac":"AC233FC1DD4E","nums":13},{"timestamp":"2026-02-09T00:36:56.053Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A2103095336"},{"timestamp":"2026-02-09T00:36:56.256Z","mac":"C3000057B9DB","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C2710000204665B07B0D4F0"},{"timestamp":"2026-02-09T00:36:56.356Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A2103095336"},{"timestamp":"2026-02-09T00:36:56.362Z","mac":"E017085443A7","rssi":-81,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:56.660Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF00020000FF0000FF0000FF0000000000000000052A2103095336"},{"timestamp":"2026-02-09T00:36:56.731Z","mac":"F045AEE31DB4","rssi":-84,"rawData":"0201060C16E0FE2001000000000100000A094D4B20427574746F6E"},{"timestamp":"2026-02-09T00:36:56.739Z","mac":"C3000057B9D9","rssi":-72,"rawData":"0201060303AAFE1116AAFE20000C1E0F0001E7FFFF075D6748"},{"timestamp":"2026-02-09T00:36:56.757Z","mac":"E6E749BA2D00","rssi":-77,"rawData":"0201061916F7FD01DEEC3BA71D8B5AF92343DEEBE8C2E39B0000000003"},{"timestamp":"2026-02-09T00:36:56.763Z","mac":"0BC8DA14CEAC","rssi":-83,"rawData":"0201041AFF004C02152686F39CBADA4658854AA62E7E5E8B8D00010000C9"},{"timestamp":"2026-02-09T00:36:56.852Z","mac":"C3000057B9F5","rssi":-58,"rawData":"0201060303AAFE1116AAFE20000C2710000206F1EB07BA7898"},{"timestamp":"2026-02-09T00:36:56.891Z","mac":"C300003946B1","rssi":-81,"rawData":"0201060303E1FF1116E1FFA10826B146390000C34D57423031"},{"timestamp":"2026-02-09T00:36:56.900Z","mac":"C3000057B9F4","rssi":-76,"rawData":"0201060303AAFE1116AAFE20000C24100002089BB707BE443C"},{"timestamp":"2026-02-09T00:36:56.961Z","mac":"C7AE561E38B7","rssi":-74,"rawData":"02010617FF000100000000000000000000C30600006F4C0000460003095336"}] diff --git a/data/train/jobs/done/0_1450_500.csv b/data/train/jobs/done/0_1450_500.csv deleted file mode 100755 index a53e8ba..0000000 --- a/data/train/jobs/done/0_1450_500.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -P_1450_500;0;Area_Rilevazione;1450;500;0;BC-21;C3:00:00:57:B9:E6 diff --git a/data/train/jobs/done/0_1550_850.csv b/data/train/jobs/done/0_1550_850.csv deleted file mode 100755 index 1352d28..0000000 --- a/data/train/jobs/done/0_1550_850.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -P_1550_850;0;Area_Rilevazione;1550;850;0;BC-21;C3:00:00:57:B9:E6 diff --git a/data/train/jobs/done/1_1050_1450.csv b/data/train/jobs/done/1_1050_1450.csv deleted file mode 100755 index 36e421d..0000000 --- a/data/train/jobs/done/1_1050_1450.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -P_1050_1450;1;Area_Mappatura;1050;1450;1;BC-21;C3:00:00:57:B9:E6 diff --git a/data/train/jobs/done/1_1250_600.csv b/data/train/jobs/done/1_1250_600.csv deleted file mode 100755 index c294cde..0000000 --- a/data/train/jobs/done/1_1250_600.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -P_1250_600;1;Area_Rilevazione;1250;600;0;BC-21;C3:00:00:57:B9:E6 diff --git a/data/train/jobs/done/1_1600_450.csv b/data/train/jobs/done/1_1600_450.csv deleted file mode 100755 index 4b21529..0000000 --- a/data/train/jobs/done/1_1600_450.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -P_1600_450;1;Area_Rilevazione;1600;450;0;BC-21;C3:00:00:57:B9:E6 diff --git a/data/train/jobs/done/BC-21_-1_1050_250.csv b/data/train/jobs/done/BC-21_-1_1050_250.csv deleted file mode 100644 index ba48a29..0000000 --- a/data/train/jobs/done/BC-21_-1_1050_250.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-21_-1_1050_250;-1;BC-21;1050;250;-1;BC-21;C3:00:00:57:B9:E6 diff --git a/data/train/jobs/done/BC-21_0_195_1425.csv b/data/train/jobs/done/BC-21_0_195_1425.csv deleted file mode 100644 index 3427956..0000000 --- a/data/train/jobs/done/BC-21_0_195_1425.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-21_0_195_1425;0;BC-21;195;1425;0;BC-21;C3:00:00:57:B9:E6 diff --git a/data/train/jobs/done/BC-21_0_2114_796.csv b/data/train/jobs/done/BC-21_0_2114_796.csv deleted file mode 100644 index d629e83..0000000 --- a/data/train/jobs/done/BC-21_0_2114_796.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-21_0_2114_796;0;BC-21;2114;796;0;BC-21;C3:00:00:57:B9:E6 diff --git a/data/train/jobs/done/BC-21_0_2115_697.csv b/data/train/jobs/done/BC-21_0_2115_697.csv deleted file mode 100644 index 726c2fd..0000000 --- a/data/train/jobs/done/BC-21_0_2115_697.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -P_2115_697;0;BC-21;2115;697;0;BC-21;C3:00:00:57:B9:E6 diff --git a/data/train/jobs/done/BC-21_0_2568_946.csv b/data/train/jobs/done/BC-21_0_2568_946.csv deleted file mode 100644 index b702f5b..0000000 --- a/data/train/jobs/done/BC-21_0_2568_946.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-21_0_2568_946;0;BC-21;2568;946;0;BC-21;C3:00:00:57:B9:E6 diff --git a/data/train/jobs/done/BC-21_0_400_100.csv b/data/train/jobs/done/BC-21_0_400_100.csv deleted file mode 100644 index 1f91e48..0000000 --- a/data/train/jobs/done/BC-21_0_400_100.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-21_0_400_100;0;BC-21;400;100;0;BC-21;C3:00:00:57:B9:E6 diff --git a/data/train/jobs/done/BC-21_0_619_122.csv b/data/train/jobs/done/BC-21_0_619_122.csv deleted file mode 100644 index 8d0de67..0000000 --- a/data/train/jobs/done/BC-21_0_619_122.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-21_0_619_122;0;BC-21;619;122;0;BC-21;C3:00:00:57:B9:E6 diff --git a/data/train/jobs/done/BC-21_1_1050_500.csv b/data/train/jobs/done/BC-21_1_1050_500.csv deleted file mode 100644 index 7dd9b6b..0000000 --- a/data/train/jobs/done/BC-21_1_1050_500.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-21_1_1050_500;1;BC-21;1050;500;1;BC-21;C3:00:00:57:B9:E6 diff --git a/data/train/jobs/done/BC-21_1_950_750.csv b/data/train/jobs/done/BC-21_1_950_750.csv deleted file mode 100644 index 4458164..0000000 --- a/data/train/jobs/done/BC-21_1_950_750.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-21_1_950_750;1;BC-21;950;750;1;BC-21;C3:00:00:57:B9:E6 diff --git a/data/train/jobs/done/BC-22_-1_1650_1100.csv b/data/train/jobs/done/BC-22_-1_1650_1100.csv deleted file mode 100644 index 1ff6b96..0000000 --- a/data/train/jobs/done/BC-22_-1_1650_1100.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-22_-1_1650_1100;-1;BC-22;1650;1100;-1;BC-22;C3:00:00:57:B9:D4 diff --git a/data/train/jobs/done/BC-22_-1_170_1418.csv b/data/train/jobs/done/BC-22_-1_170_1418.csv deleted file mode 100644 index 8f43284..0000000 --- a/data/train/jobs/done/BC-22_-1_170_1418.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-22_-1_170_1418;-1;BC-22;170;1418;-1;BC-22;C3:00:00:57:B9:D4 diff --git a/data/train/jobs/done/BC-22_0_534_999.csv b/data/train/jobs/done/BC-22_0_534_999.csv deleted file mode 100644 index 2972612..0000000 --- a/data/train/jobs/done/BC-22_0_534_999.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-22_0_534_999;0;BC-22;534;999;0;BC-22;C3:00:00:57:B9:D4 diff --git a/data/train/jobs/done/BC-23_0_1580_180.csv b/data/train/jobs/done/BC-23_0_1580_180.csv deleted file mode 100644 index 6f57ebe..0000000 --- a/data/train/jobs/done/BC-23_0_1580_180.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-23_0_1580_180;0;BC-23;1580;180;0;BC-23;C3:00:00:57:B9:E8 diff --git a/data/train/jobs/done/BC-23_1_130_1386.csv b/data/train/jobs/done/BC-23_1_130_1386.csv deleted file mode 100644 index ee97e3b..0000000 --- a/data/train/jobs/done/BC-23_1_130_1386.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-23_1_130_1386;1;BC-23;130;1386;1;BC-23;C3:00:00:57:B9:E8 diff --git a/data/train/jobs/done/BC-23_1_1800_600.csv b/data/train/jobs/done/BC-23_1_1800_600.csv deleted file mode 100644 index 0f10ae5..0000000 --- a/data/train/jobs/done/BC-23_1_1800_600.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-23_1_1800_600;1;BC-23;1800;600;1;BC-23;C3:00:00:57:B9:E8 diff --git a/data/train/jobs/done/BC-24_1_1900_1400.csv b/data/train/jobs/done/BC-24_1_1900_1400.csv deleted file mode 100644 index e5fab00..0000000 --- a/data/train/jobs/done/BC-24_1_1900_1400.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-24_1_1900_1400;1;BC-24;1900;1400;1;BC-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/BC-24_1_2200_1000.csv b/data/train/jobs/done/BC-24_1_2200_1000.csv deleted file mode 100644 index d02aa81..0000000 --- a/data/train/jobs/done/BC-24_1_2200_1000.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-24_1_2200_1000;1;BC-24;2200;1000;1;BC-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/BC-25_0_562_239.csv b/data/train/jobs/done/BC-25_0_562_239.csv deleted file mode 100644 index db8e08b..0000000 --- a/data/train/jobs/done/BC-25_0_562_239.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-25_0_562_239;0;BC-25;562;239;0;BC-25;C3:00:00:57:B9:E7 diff --git a/data/train/jobs/done/BC-25_1_1450_600.csv b/data/train/jobs/done/BC-25_1_1450_600.csv deleted file mode 100644 index 4dea3e1..0000000 --- a/data/train/jobs/done/BC-25_1_1450_600.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-25_1_1450_600;1;BC-25;1450;600;1;BC-25;C3:00:00:57:B9:E7 diff --git a/data/train/jobs/done/BC-25_1_2400_300.csv b/data/train/jobs/done/BC-25_1_2400_300.csv deleted file mode 100644 index 0c83da6..0000000 --- a/data/train/jobs/done/BC-25_1_2400_300.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-25_1_2400_300;1;BC-25;2400;300;1;BC-25;C3:00:00:57:B9:E7 diff --git a/data/train/jobs/done/BC-25_1_2500_1300.csv b/data/train/jobs/done/BC-25_1_2500_1300.csv deleted file mode 100644 index 1070a11..0000000 --- a/data/train/jobs/done/BC-25_1_2500_1300.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -BC-25_1_2500_1300;1;BC-25;2500;1300;1;BC-25;C3:00:00:57:B9:E7 diff --git a/data/train/jobs/done/GBC-00_-1_1291_655.csv b/data/train/jobs/done/GBC-00_-1_1291_655.csv new file mode 100644 index 0000000..9979232 --- /dev/null +++ b/data/train/jobs/done/GBC-00_-1_1291_655.csv @@ -0,0 +1,5 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-00-21_-1_1291_655;-1;BC-00-21;1291;655;-1;BC-00-21;C3:00:00:57:B9:E6 +BC-04-22_-1_1291_655;-1;BC-04-22;1291;655;-1;BC-04-22;C3:00:00:57:B9:D4 +BC-08-23_-1_1291_655;-1;BC-08-23;1291;655;-1;BC-08-23;C3:00:00:57:B9:E8 +BC-12-24_-1_1291_655;-1;BC-12-24;1291;655;-1;BC-12-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/GBC-00_-1_1417_1081.csv b/data/train/jobs/done/GBC-00_-1_1417_1081.csv new file mode 100644 index 0000000..b3c6e2d --- /dev/null +++ b/data/train/jobs/done/GBC-00_-1_1417_1081.csv @@ -0,0 +1,5 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-00-21_-1_1417_1081;-1;BC-00-21;1417;1081;-1;BC-00-21;C3:00:00:57:B9:E6 +BC-04-22_-1_1417_1081;-1;BC-04-22;1417;1081;-1;BC-04-22;C3:00:00:57:B9:D4 +BC-08-23_-1_1417_1081;-1;BC-08-23;1417;1081;-1;BC-08-23;C3:00:00:57:B9:E8 +BC-12-24_-1_1417_1081;-1;BC-12-24;1417;1081;-1;BC-12-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/GBC-00_-1_152_1379.csv b/data/train/jobs/done/GBC-00_-1_152_1379.csv new file mode 100644 index 0000000..9733c32 --- /dev/null +++ b/data/train/jobs/done/GBC-00_-1_152_1379.csv @@ -0,0 +1,5 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-00-21_-1_152_1379;-1;BC-00-21;152;1379;-1;BC-00-21;C3:00:00:57:B9:E6 +BC-04-22_-1_152_1379;-1;BC-04-22;152;1379;-1;BC-04-22;C3:00:00:57:B9:D4 +BC-08-23_-1_152_1379;-1;BC-08-23;152;1379;-1;BC-08-23;C3:00:00:57:B9:E8 +BC-12-24_-1_152_1379;-1;BC-12-24;152;1379;-1;BC-12-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/GBC-00_-1_1687_221.csv b/data/train/jobs/done/GBC-00_-1_1687_221.csv new file mode 100644 index 0000000..c4cd7e3 --- /dev/null +++ b/data/train/jobs/done/GBC-00_-1_1687_221.csv @@ -0,0 +1,5 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-00-21_-1_1687_221;-1;BC-00-21;1687;221;-1;BC-00-21;C3:00:00:57:B9:E6 +BC-04-22_-1_1687_221;-1;BC-04-22;1687;221;-1;BC-04-22;C3:00:00:57:B9:D4 +BC-08-23_-1_1687_221;-1;BC-08-23;1687;221;-1;BC-08-23;C3:00:00:57:B9:E8 +BC-12-24_-1_1687_221;-1;BC-12-24;1687;221;-1;BC-12-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/GBC-00_-1_2122_693.csv b/data/train/jobs/done/GBC-00_-1_2122_693.csv new file mode 100644 index 0000000..f0c7324 --- /dev/null +++ b/data/train/jobs/done/GBC-00_-1_2122_693.csv @@ -0,0 +1,3 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-04-22_-1_2122_693;-1;BC-04-22;2122;693;-1;BC-04-22;C3:00:00:57:B9:D4 +BC-12-24_-1_2122_693;-1;BC-12-24;2122;693;-1;BC-12-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/GBC-00_-1_2547_235.csv b/data/train/jobs/done/GBC-00_-1_2547_235.csv new file mode 100644 index 0000000..65b0e2b --- /dev/null +++ b/data/train/jobs/done/GBC-00_-1_2547_235.csv @@ -0,0 +1,5 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-00-21_-1_2547_235;-1;BC-00-21;2547;235;-1;BC-00-21;C3:00:00:57:B9:E6 +BC-04-22_-1_2547_235;-1;BC-04-22;2547;235;-1;BC-04-22;C3:00:00:57:B9:D4 +BC-08-23_-1_2547_235;-1;BC-08-23;2547;235;-1;BC-08-23;C3:00:00:57:B9:E8 +BC-12-24_-1_2547_235;-1;BC-12-24;2547;235;-1;BC-12-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/GBC-00_-1_2642_1057.csv b/data/train/jobs/done/GBC-00_-1_2642_1057.csv new file mode 100644 index 0000000..d2fbdf0 --- /dev/null +++ b/data/train/jobs/done/GBC-00_-1_2642_1057.csv @@ -0,0 +1,5 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-00-21_-1_2642_1057;-1;BC-00-21;2642;1057;-1;BC-00-21;C3:00:00:57:B9:E6 +BC-04-22_-1_2642_1057;-1;BC-04-22;2642;1057;-1;BC-04-22;C3:00:00:57:B9:D4 +BC-08-23_-1_2642_1057;-1;BC-08-23;2642;1057;-1;BC-08-23;C3:00:00:57:B9:E8 +BC-12-24_-1_2642_1057;-1;BC-12-24;2642;1057;-1;BC-12-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/GBC-00_0_1105_707.csv b/data/train/jobs/done/GBC-00_0_1105_707.csv new file mode 100644 index 0000000..b438fab --- /dev/null +++ b/data/train/jobs/done/GBC-00_0_1105_707.csv @@ -0,0 +1,5 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-00-21_0_1105_707;0;BC-00-21;1105;707;0;BC-00-21;C3:00:00:57:B9:E6 +BC-04-22_0_1105_707;0;BC-04-22;1105;707;0;BC-04-22;C3:00:00:57:B9:D4 +BC-08-23_0_1105_707;0;BC-08-23;1105;707;0;BC-08-23;C3:00:00:57:B9:E8 +BC-12-24_0_1105_707;0;BC-12-24;1105;707;0;BC-12-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/GBC-00_0_2026_707.csv b/data/train/jobs/done/GBC-00_0_2026_707.csv new file mode 100644 index 0000000..a62a771 --- /dev/null +++ b/data/train/jobs/done/GBC-00_0_2026_707.csv @@ -0,0 +1,5 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-00-21_0_2026_707;0;BC-00-21;2026;707;0;BC-00-21;C3:00:00:57:B9:E6 +BC-04-22_0_2026_707;0;BC-04-22;2026;707;0;BC-04-22;C3:00:00:57:B9:D4 +BC-08-23_0_2026_707;0;BC-08-23;2026;707;0;BC-08-23;C3:00:00:57:B9:E8 +BC-12-24_0_2026_707;0;BC-12-24;2026;707;0;BC-12-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/GBC-00_0_2897_72.csv b/data/train/jobs/done/GBC-00_0_2897_72.csv new file mode 100644 index 0000000..e49fc5d --- /dev/null +++ b/data/train/jobs/done/GBC-00_0_2897_72.csv @@ -0,0 +1,5 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-00-21_0_2897_72;0;BC-00-21;2897;72;0;BC-00-21;C3:00:00:57:B9:E6 +BC-04-22_0_2897_72;0;BC-04-22;2897;72;0;BC-04-22;C3:00:00:57:B9:D4 +BC-08-23_0_2897_72;0;BC-08-23;2897;72;0;BC-08-23;C3:00:00:57:B9:E8 +BC-12-24_0_2897_72;0;BC-12-24;2897;72;0;BC-12-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/GBC-00_0_2925_1485.csv b/data/train/jobs/done/GBC-00_0_2925_1485.csv new file mode 100644 index 0000000..f6ae64e --- /dev/null +++ b/data/train/jobs/done/GBC-00_0_2925_1485.csv @@ -0,0 +1,5 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-00-21_0_2925_1485;0;BC-00-21;2925;1485;0;BC-00-21;C3:00:00:57:B9:E6 +BC-04-22_0_2925_1485;0;BC-04-22;2925;1485;0;BC-04-22;C3:00:00:57:B9:D4 +BC-08-23_0_2925_1485;0;BC-08-23;2925;1485;0;BC-08-23;C3:00:00:57:B9:E8 +BC-12-24_0_2925_1485;0;BC-12-24;2925;1485;0;BC-12-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/GBC-00_0_70_1485.csv b/data/train/jobs/done/GBC-00_0_70_1485.csv new file mode 100644 index 0000000..6aaf0d0 --- /dev/null +++ b/data/train/jobs/done/GBC-00_0_70_1485.csv @@ -0,0 +1,5 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-00-21_0_70_1485;0;BC-00-21;70;1485;0;BC-00-21;C3:00:00:57:B9:E6 +BC-04-22_0_70_1485;0;BC-04-22;70;1485;0;BC-04-22;C3:00:00:57:B9:D4 +BC-08-23_0_70_1485;0;BC-08-23;70;1485;0;BC-08-23;C3:00:00:57:B9:E8 +BC-12-24_0_70_1485;0;BC-12-24;70;1485;0;BC-12-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/GBC-00_0_98_58.csv b/data/train/jobs/done/GBC-00_0_98_58.csv new file mode 100644 index 0000000..faf89de --- /dev/null +++ b/data/train/jobs/done/GBC-00_0_98_58.csv @@ -0,0 +1,5 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-00-21_0_98_58;0;BC-00-21;98;58;0;BC-00-21;C3:00:00:57:B9:E6 +BC-04-22_0_98_58;0;BC-04-22;98;58;0;BC-04-22;C3:00:00:57:B9:D4 +BC-08-23_0_98_58;0;BC-08-23;98;58;0;BC-08-23;C3:00:00:57:B9:E8 +BC-12-24_0_98_58;0;BC-12-24;98;58;0;BC-12-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/GBC-00_1_105_67.csv b/data/train/jobs/done/GBC-00_1_105_67.csv new file mode 100644 index 0000000..6095870 --- /dev/null +++ b/data/train/jobs/done/GBC-00_1_105_67.csv @@ -0,0 +1,5 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-00-21_1_105_67;1;BC-00-21;105;67;1;BC-00-21;C3:00:00:57:B9:E6 +BC-04-22_1_105_67;1;BC-04-22;105;67;1;BC-04-22;C3:00:00:57:B9:D4 +BC-08-23_1_105_67;1;BC-08-23;105;67;1;BC-08-23;C3:00:00:57:B9:E8 +BC-12-24_1_105_67;1;BC-12-24;105;67;1;BC-12-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/GBC-00_1_130_1414.csv b/data/train/jobs/done/GBC-00_1_130_1414.csv new file mode 100644 index 0000000..ed5231d --- /dev/null +++ b/data/train/jobs/done/GBC-00_1_130_1414.csv @@ -0,0 +1,5 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-00-21_1_130_1414;1;BC-00-21;130;1414;1;BC-00-21;C3:00:00:57:B9:E6 +BC-04-22_1_130_1414;1;BC-04-22;130;1414;1;BC-04-22;C3:00:00:57:B9:D4 +BC-08-23_1_130_1414;1;BC-08-23;130;1414;1;BC-08-23;C3:00:00:57:B9:E8 +BC-12-24_1_130_1414;1;BC-12-24;130;1414;1;BC-12-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/GBC-00_1_1502_611.csv b/data/train/jobs/done/GBC-00_1_1502_611.csv new file mode 100644 index 0000000..90941c2 --- /dev/null +++ b/data/train/jobs/done/GBC-00_1_1502_611.csv @@ -0,0 +1,5 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-00-21_1_1502_611;1;BC-00-21;1502;611;1;BC-00-21;C3:00:00:57:B9:E6 +BC-04-22_1_1502_611;1;BC-04-22;1502;611;1;BC-04-22;C3:00:00:57:B9:D4 +BC-08-23_1_1502_611;1;BC-08-23;1502;611;1;BC-08-23;C3:00:00:57:B9:E8 +BC-12-24_1_1502_611;1;BC-12-24;1502;611;1;BC-12-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/GBC-00_1_2766_157.csv b/data/train/jobs/done/GBC-00_1_2766_157.csv new file mode 100644 index 0000000..493cda4 --- /dev/null +++ b/data/train/jobs/done/GBC-00_1_2766_157.csv @@ -0,0 +1,5 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-00-21_1_2766_157;1;BC-00-21;2766;157;1;BC-00-21;C3:00:00:57:B9:E6 +BC-04-22_1_2766_157;1;BC-04-22;2766;157;1;BC-04-22;C3:00:00:57:B9:D4 +BC-08-23_1_2766_157;1;BC-08-23;2766;157;1;BC-08-23;C3:00:00:57:B9:E8 +BC-12-24_1_2766_157;1;BC-12-24;2766;157;1;BC-12-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/GBC-00_1_2837_1393.csv b/data/train/jobs/done/GBC-00_1_2837_1393.csv new file mode 100644 index 0000000..403e9ff --- /dev/null +++ b/data/train/jobs/done/GBC-00_1_2837_1393.csv @@ -0,0 +1,5 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-00-21_1_2837_1393;1;BC-00-21;2837;1393;1;BC-00-21;C3:00:00:57:B9:E6 +BC-04-22_1_2837_1393;1;BC-04-22;2837;1393;1;BC-04-22;C3:00:00:57:B9:D4 +BC-08-23_1_2837_1393;1;BC-08-23;2837;1393;1;BC-08-23;C3:00:00:57:B9:E8 +BC-12-24_1_2837_1393;1;BC-12-24;2837;1393;1;BC-12-24;C3:00:00:57:B9:F1 diff --git a/data/train/jobs/done/P_1356_1256.csv b/data/train/jobs/done/P_1356_1256.csv deleted file mode 100644 index 87ba9b1..0000000 --- a/data/train/jobs/done/P_1356_1256.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -P_1356_1256;0;BC-21;1356;1256;0;BC-21;C3:00:00:57:B9:E6 diff --git a/data/train/jobs/done/P_2142_616.csv b/data/train/jobs/done/P_2142_616.csv deleted file mode 100644 index 9e1e6b5..0000000 --- a/data/train/jobs/done/P_2142_616.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -P_2142_616;0;BC-21;2142;616;0;BC-21;C3:00:00:57:B9:E6 diff --git a/data/train/jobs/done/P_2491_543.csv b/data/train/jobs/done/P_2491_543.csv deleted file mode 100644 index 0ed8db3..0000000 --- a/data/train/jobs/done/P_2491_543.csv +++ /dev/null @@ -1,2 +0,0 @@ -Position;Floor;RoomName;X;Y;Z;BeaconName;MAC -P_2491_543;0;BC-22;2491;543;0;BC-22;C3:00:00:57:B9:D4 diff --git a/data/train/samples/-1_1050_250.csv b/data/train/samples/-1_1050_250.csv deleted file mode 100644 index dca4fd8..0000000 --- a/data/train/samples/-1_1050_250.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;1050;250;-1;-72.000;-82.000;-75.000;nan;nan;nan;nan;nan;-80.000;-51.500;-74.000;-64.000;-73.000;-77.000;nan;-76.000 diff --git a/data/train/samples/-1_1650_1100.csv b/data/train/samples/-1_1650_1100.csv deleted file mode 100644 index 3a96ac4..0000000 --- a/data/train/samples/-1_1650_1100.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:D4;1650;1100;-1;-77.000;nan;-78.000;nan;nan;nan;nan;nan;-76.000;nan;-75.000;-67.000;-76.000;-78.000;-83.000;-73.500 diff --git a/data/train/samples/-1_170_1418.csv b/data/train/samples/-1_170_1418.csv deleted file mode 100644 index be4fbc8..0000000 --- a/data/train/samples/-1_170_1418.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:D4;170;1418;-1;-77.000;nan;-79.000;nan;-85.000;nan;nan;nan;-74.000;nan;-73.000;-67.000;-76.000;-78.000;-83.000;-74.000 diff --git a/data/train/samples/00_-1_1291_655.csv b/data/train/samples/00_-1_1291_655.csv new file mode 100644 index 0000000..f4365f2 --- /dev/null +++ b/data/train/samples/00_-1_1291_655.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E6;1291.0;655.0;-1.0;2026-02-08T20:40:06.871Z;2026-02-08T20:40:37.302Z;-77.000;-82.000;-76.000;nan;nan;nan;nan;nan;-80.000;-51.000;-76.000;-64.000;-70.000;-77.000;nan;-76.000 diff --git a/data/train/samples/00_-1_1417_1081.csv b/data/train/samples/00_-1_1417_1081.csv new file mode 100644 index 0000000..195d9e6 --- /dev/null +++ b/data/train/samples/00_-1_1417_1081.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E6;1417.0;1081.0;-1.0;2026-02-08T20:40:36.921Z;2026-02-08T20:41:07.362Z;-76.000;-82.000;nan;nan;nan;nan;nan;nan;-80.000;-52.000;-75.000;-64.000;-71.000;-77.000;nan;-76.000 diff --git a/data/train/samples/00_-1_152_1379.csv b/data/train/samples/00_-1_152_1379.csv new file mode 100644 index 0000000..a0a9429 --- /dev/null +++ b/data/train/samples/00_-1_152_1379.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E6;152.0;1379.0;-1.0;2026-02-08T22:39:22.733Z;2026-02-08T22:39:53.224Z;-72.000;-82.000;-75.000;nan;nan;nan;nan;nan;-80.000;-51.000;-76.000;-64.000;-73.000;nan;nan;-75.500 diff --git a/data/train/samples/00_-1_1687_221.csv b/data/train/samples/00_-1_1687_221.csv new file mode 100644 index 0000000..2f31c72 --- /dev/null +++ b/data/train/samples/00_-1_1687_221.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E6;1687.0;221.0;-1.0;2026-02-08T22:39:53.064Z;2026-02-08T22:40:23.307Z;-76.000;-82.000;-76.000;nan;nan;nan;nan;nan;-80.000;-52.000;-75.000;-64.000;-71.500;-79.000;nan;-76.000 diff --git a/data/train/samples/00_-1_2547_235.csv b/data/train/samples/00_-1_2547_235.csv new file mode 100644 index 0000000..675c747 --- /dev/null +++ b/data/train/samples/00_-1_2547_235.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E6;2547.0;235.0;-1.0;2026-02-08T20:41:06.972Z;2026-02-08T20:41:37.419Z;-74.000;-82.000;nan;nan;nan;nan;nan;nan;-80.500;-52.000;-74.000;-64.000;-73.000;-77.000;nan;-75.000 diff --git a/data/train/samples/00_-1_2642_1057.csv b/data/train/samples/00_-1_2642_1057.csv new file mode 100644 index 0000000..9f87891 --- /dev/null +++ b/data/train/samples/00_-1_2642_1057.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E6;2642.0;1057.0;-1.0;2026-02-08T22:38:52.587Z;2026-02-08T22:39:23.173Z;-77.000;-83.000;-76.000;nan;nan;nan;nan;nan;-81.000;-52.000;-75.500;-64.000;-73.000;nan;nan;-76.000 diff --git a/data/train/samples/00_0_1105_707.csv b/data/train/samples/00_0_1105_707.csv new file mode 100644 index 0000000..8ca0f0c --- /dev/null +++ b/data/train/samples/00_0_1105_707.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E6;1105.0;707.0;0.0;2026-02-08T22:40:23.178Z;2026-02-08T22:40:53.417Z;-74.000;-82.000;-75.000;nan;nan;nan;nan;nan;-80.000;-52.000;-76.000;-64.000;-70.000;-77.000;nan;-76.000 diff --git a/data/train/samples/00_0_2026_707.csv b/data/train/samples/00_0_2026_707.csv new file mode 100644 index 0000000..6117814 --- /dev/null +++ b/data/train/samples/00_0_2026_707.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E6;2026.0;707.0;0.0;2026-02-08T22:40:53.342Z;2026-02-08T22:41:23.783Z;-71.000;-82.000;nan;nan;nan;nan;nan;nan;-80.500;-52.000;-74.000;-64.000;-71.000;-77.000;nan;-76.000 diff --git a/data/train/samples/00_0_2897_72.csv b/data/train/samples/00_0_2897_72.csv new file mode 100644 index 0000000..90cfcee --- /dev/null +++ b/data/train/samples/00_0_2897_72.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E6;2897.0;72.0;0.0;2026-02-08T22:41:23.398Z;2026-02-08T22:41:54.037Z;-76.000;-82.000;nan;nan;nan;nan;nan;nan;-80.000;-52.000;-75.000;-64.000;-73.000;-78.000;nan;-75.000 diff --git a/data/train/samples/00_0_2925_1485.csv b/data/train/samples/00_0_2925_1485.csv new file mode 100644 index 0000000..4683d60 --- /dev/null +++ b/data/train/samples/00_0_2925_1485.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E6;2925.0;1485.0;0.0;2026-02-08T22:41:53.882Z;2026-02-08T22:42:24.136Z;-77.000;-82.000;nan;nan;nan;nan;nan;nan;-80.000;-52.000;-76.000;-64.000;-71.500;-77.000;nan;-72.000 diff --git a/data/train/samples/00_0_70_1485.csv b/data/train/samples/00_0_70_1485.csv new file mode 100644 index 0000000..11e3065 --- /dev/null +++ b/data/train/samples/00_0_70_1485.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E6;70.0;1485.0;0.0;2026-02-08T22:42:24.089Z;2026-02-08T22:42:54.160Z;-74.000;nan;nan;nan;nan;nan;nan;nan;-80.500;-52.000;-76.000;-64.000;-73.000;-78.000;nan;-75.000 diff --git a/data/train/samples/00_0_98_58.csv b/data/train/samples/00_0_98_58.csv new file mode 100644 index 0000000..59f1824 --- /dev/null +++ b/data/train/samples/00_0_98_58.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E6;98.0;58.0;0.0;2026-02-08T22:42:53.484Z;2026-02-08T22:43:24.214Z;-72.000;nan;-75.000;nan;nan;nan;nan;nan;-81.000;-52.000;-76.000;-64.500;-70.000;-79.500;nan;-76.000 diff --git a/data/train/samples/00_1_105_67.csv b/data/train/samples/00_1_105_67.csv new file mode 100644 index 0000000..491ef69 --- /dev/null +++ b/data/train/samples/00_1_105_67.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E6;105.0;67.0;1.0;2026-02-08T22:43:23.597Z;2026-02-08T22:43:54.276Z;-72.000;nan;nan;nan;nan;nan;nan;nan;-80.500;-51.000;-75.000;-61.000;-71.500;nan;nan;-76.000 diff --git a/data/train/samples/00_1_130_1414.csv b/data/train/samples/00_1_130_1414.csv new file mode 100644 index 0000000..d5fb9eb --- /dev/null +++ b/data/train/samples/00_1_130_1414.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E6;130.0;1414.0;1.0;2026-02-08T22:43:53.689Z;2026-02-08T22:44:24.328Z;-71.000;nan;nan;nan;nan;nan;nan;nan;-80.500;-51.000;-74.000;-64.000;-70.000;-79.000;nan;-76.000 diff --git a/data/train/samples/00_1_1502_611.csv b/data/train/samples/00_1_1502_611.csv new file mode 100644 index 0000000..98356d7 --- /dev/null +++ b/data/train/samples/00_1_1502_611.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E6;1502.0;611.0;1.0;2026-02-08T22:44:23.746Z;2026-02-08T22:44:54.431Z;-77.000;nan;nan;nan;nan;nan;nan;nan;-80.000;-51.000;-75.000;-64.000;-71.500;-78.000;nan;-76.000 diff --git a/data/train/samples/00_1_2766_157.csv b/data/train/samples/00_1_2766_157.csv new file mode 100644 index 0000000..5826286 --- /dev/null +++ b/data/train/samples/00_1_2766_157.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E6;2766.0;157.0;1.0;2026-02-08T22:44:54.304Z;2026-02-08T22:45:24.549Z;-76.000;nan;-76.000;nan;nan;nan;nan;nan;-81.000;-52.000;-75.000;-64.500;nan;nan;nan;-76.000 diff --git a/data/train/samples/00_1_2837_1393.csv b/data/train/samples/00_1_2837_1393.csv new file mode 100644 index 0000000..570eea0 --- /dev/null +++ b/data/train/samples/00_1_2837_1393.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E6;2837.0;1393.0;1.0;2026-02-08T22:45:24.548Z;2026-02-08T22:45:54.786Z;-72.000;nan;-75.000;nan;nan;nan;nan;nan;-80.500;-52.000;-75.000;-64.000;-71.500;-81.000;nan;-76.000 diff --git a/data/train/samples/04_-1_1291_655.csv b/data/train/samples/04_-1_1291_655.csv new file mode 100644 index 0000000..3bc8c85 --- /dev/null +++ b/data/train/samples/04_-1_1291_655.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:D4;1291.0;655.0;-1.0;2026-02-08T20:40:06.871Z;2026-02-08T20:40:37.302Z;-76.500;nan;-78.000;nan;nan;nan;nan;nan;-74.000;-75.000;-72.000;-67.000;-76.000;-81.000;nan;-74.000 diff --git a/data/train/samples/04_-1_1417_1081.csv b/data/train/samples/04_-1_1417_1081.csv new file mode 100644 index 0000000..4aa53f6 --- /dev/null +++ b/data/train/samples/04_-1_1417_1081.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:D4;1417.0;1081.0;-1.0;2026-02-08T20:40:36.921Z;2026-02-08T20:41:07.362Z;-76.000;nan;-78.000;nan;nan;nan;nan;nan;-75.000;-63.000;-75.000;-67.000;-76.000;nan;nan;-73.000 diff --git a/data/train/samples/04_-1_152_1379.csv b/data/train/samples/04_-1_152_1379.csv new file mode 100644 index 0000000..0f942a7 --- /dev/null +++ b/data/train/samples/04_-1_152_1379.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:D4;152.0;1379.0;-1.0;2026-02-08T22:39:22.733Z;2026-02-08T22:39:53.224Z;-77.000;nan;-79.000;nan;nan;nan;nan;nan;-74.000;-63.000;-72.000;-67.000;-76.000;nan;-84.000;-73.000 diff --git a/data/train/samples/04_-1_1687_221.csv b/data/train/samples/04_-1_1687_221.csv new file mode 100644 index 0000000..c88e1bb --- /dev/null +++ b/data/train/samples/04_-1_1687_221.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:D4;1687.0;221.0;-1.0;2026-02-08T22:39:53.064Z;2026-02-08T22:40:23.307Z;-77.000;nan;-79.000;nan;nan;nan;nan;nan;-74.000;-63.000;-73.000;-67.000;-76.000;-78.000;-82.000;-73.000 diff --git a/data/train/samples/04_-1_2122_693.csv b/data/train/samples/04_-1_2122_693.csv new file mode 100644 index 0000000..641b7bf --- /dev/null +++ b/data/train/samples/04_-1_2122_693.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:D4;2122.0;693.0;-1.0;2026-02-08T20:17:54.993Z;2026-02-08T20:18:24.283Z;-77.000;nan;-79.000;nan;nan;nan;nan;nan;-75.000;-63.000;-74.500;-67.000;-76.000;nan;nan;-74.000 diff --git a/data/train/samples/04_-1_2547_235.csv b/data/train/samples/04_-1_2547_235.csv new file mode 100644 index 0000000..d451fd0 --- /dev/null +++ b/data/train/samples/04_-1_2547_235.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:D4;2547.0;235.0;-1.0;2026-02-08T20:41:06.972Z;2026-02-08T20:41:37.419Z;-76.500;nan;-79.000;nan;nan;nan;nan;nan;-75.000;-63.000;-75.000;-67.000;-76.000;-78.000;nan;-72.000 diff --git a/data/train/samples/04_-1_2642_1057.csv b/data/train/samples/04_-1_2642_1057.csv new file mode 100644 index 0000000..98c2580 --- /dev/null +++ b/data/train/samples/04_-1_2642_1057.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:D4;2642.0;1057.0;-1.0;2026-02-08T22:38:52.587Z;2026-02-08T22:39:23.173Z;-76.000;nan;-77.000;nan;nan;nan;nan;nan;-74.500;-63.000;-75.000;-66.500;-76.000;-78.000;-83.000;-73.000 diff --git a/data/train/samples/04_0_1105_707.csv b/data/train/samples/04_0_1105_707.csv new file mode 100644 index 0000000..940dbd7 --- /dev/null +++ b/data/train/samples/04_0_1105_707.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:D4;1105.0;707.0;0.0;2026-02-08T22:40:23.178Z;2026-02-08T22:40:53.417Z;-76.500;nan;-79.500;nan;nan;nan;nan;nan;-74.000;-63.000;nan;-67.000;-76.000;-78.000;nan;-74.500 diff --git a/data/train/samples/04_0_2026_707.csv b/data/train/samples/04_0_2026_707.csv new file mode 100644 index 0000000..160f335 --- /dev/null +++ b/data/train/samples/04_0_2026_707.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:D4;2026.0;707.0;0.0;2026-02-08T22:40:53.342Z;2026-02-08T22:41:23.783Z;-76.000;nan;-76.000;nan;nan;nan;nan;nan;-76.000;-62.500;nan;-67.000;-76.000;-80.000;nan;-73.000 diff --git a/data/train/samples/04_0_2897_72.csv b/data/train/samples/04_0_2897_72.csv new file mode 100644 index 0000000..27b8f26 --- /dev/null +++ b/data/train/samples/04_0_2897_72.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:D4;2897.0;72.0;0.0;2026-02-08T22:41:23.398Z;2026-02-08T22:41:54.037Z;-76.000;nan;-76.000;nan;nan;nan;nan;nan;-75.000;-62.500;-75.000;-67.500;-76.000;-79.000;-82.000;-73.000 diff --git a/data/train/samples/04_0_2925_1485.csv b/data/train/samples/04_0_2925_1485.csv new file mode 100644 index 0000000..6d06e82 --- /dev/null +++ b/data/train/samples/04_0_2925_1485.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:D4;2925.0;1485.0;0.0;2026-02-08T22:41:53.882Z;2026-02-08T22:42:24.136Z;-77.000;nan;-79.000;nan;nan;nan;nan;nan;-74.000;-63.000;-72.000;-67.000;-78.000;nan;nan;-73.000 diff --git a/data/train/samples/04_0_70_1485.csv b/data/train/samples/04_0_70_1485.csv new file mode 100644 index 0000000..3df3d66 --- /dev/null +++ b/data/train/samples/04_0_70_1485.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:D4;70.0;1485.0;0.0;2026-02-08T22:42:24.089Z;2026-02-08T22:42:54.160Z;-77.000;nan;-79.000;nan;nan;nan;nan;nan;-74.000;-63.000;-72.000;-67.000;-76.000;nan;nan;-73.000 diff --git a/data/train/samples/04_0_98_58.csv b/data/train/samples/04_0_98_58.csv new file mode 100644 index 0000000..7e886b2 --- /dev/null +++ b/data/train/samples/04_0_98_58.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:D4;98.0;58.0;0.0;2026-02-08T22:42:53.484Z;2026-02-08T22:43:24.214Z;-76.500;nan;-79.000;nan;nan;nan;nan;nan;-76.000;-62.000;-75.000;-67.000;-76.000;-79.000;nan;-73.000 diff --git a/data/train/samples/04_1_105_67.csv b/data/train/samples/04_1_105_67.csv new file mode 100644 index 0000000..dfac9be --- /dev/null +++ b/data/train/samples/04_1_105_67.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:D4;105.0;67.0;1.0;2026-02-08T22:43:23.597Z;2026-02-08T22:43:54.276Z;-76.000;nan;-77.000;nan;nan;nan;nan;nan;-76.000;-63.000;-72.000;-67.000;-76.000;nan;nan;-73.000 diff --git a/data/train/samples/04_1_130_1414.csv b/data/train/samples/04_1_130_1414.csv new file mode 100644 index 0000000..248bcbd --- /dev/null +++ b/data/train/samples/04_1_130_1414.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:D4;130.0;1414.0;1.0;2026-02-08T22:43:53.689Z;2026-02-08T22:44:24.328Z;-77.000;nan;-79.000;nan;nan;nan;nan;nan;-74.000;-62.000;nan;-67.000;-76.000;-79.000;nan;-74.000 diff --git a/data/train/samples/04_1_1502_611.csv b/data/train/samples/04_1_1502_611.csv new file mode 100644 index 0000000..c61b42f --- /dev/null +++ b/data/train/samples/04_1_1502_611.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:D4;1502.0;611.0;1.0;2026-02-08T22:44:23.746Z;2026-02-08T22:44:54.431Z;-76.000;nan;-78.000;nan;nan;nan;nan;nan;-74.000;-63.000;-73.000;-66.000;-77.000;-78.000;nan;-74.000 diff --git a/data/train/samples/04_1_2766_157.csv b/data/train/samples/04_1_2766_157.csv new file mode 100644 index 0000000..98462b5 --- /dev/null +++ b/data/train/samples/04_1_2766_157.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:D4;2766.0;157.0;1.0;2026-02-08T22:44:54.304Z;2026-02-08T22:45:24.549Z;-76.000;nan;-80.000;nan;nan;nan;nan;nan;-74.000;-63.000;-75.000;-66.000;-76.000;-82.000;nan;-73.000 diff --git a/data/train/samples/04_1_2837_1393.csv b/data/train/samples/04_1_2837_1393.csv new file mode 100644 index 0000000..cbf9478 --- /dev/null +++ b/data/train/samples/04_1_2837_1393.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:D4;2837.0;1393.0;1.0;2026-02-08T22:45:24.548Z;2026-02-08T22:45:54.786Z;-76.000;nan;-80.000;nan;nan;nan;nan;nan;-76.000;-63.000;-76.000;-67.000;-76.000;-78.000;-83.500;-73.000 diff --git a/data/train/samples/08_-1_1291_655.csv b/data/train/samples/08_-1_1291_655.csv new file mode 100644 index 0000000..e45c681 --- /dev/null +++ b/data/train/samples/08_-1_1291_655.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E8;1291.0;655.0;-1.0;2026-02-08T20:40:06.871Z;2026-02-08T20:40:37.302Z;-80.000;nan;nan;nan;nan;nan;nan;nan;-78.000;-59.000;nan;-66.000;-77.000;nan;nan;-74.000 diff --git a/data/train/samples/08_-1_1417_1081.csv b/data/train/samples/08_-1_1417_1081.csv new file mode 100644 index 0000000..f0e8360 --- /dev/null +++ b/data/train/samples/08_-1_1417_1081.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E8;1417.0;1081.0;-1.0;2026-02-08T20:40:36.921Z;2026-02-08T20:41:07.362Z;-80.000;nan;-84.000;nan;nan;nan;nan;nan;-77.500;-58.000;nan;-64.000;-77.000;-78.000;nan;-74.000 diff --git a/data/train/samples/08_-1_152_1379.csv b/data/train/samples/08_-1_152_1379.csv new file mode 100644 index 0000000..633aed1 --- /dev/null +++ b/data/train/samples/08_-1_152_1379.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E8;152.0;1379.0;-1.0;2026-02-08T22:39:22.733Z;2026-02-08T22:39:53.224Z;-80.000;-82.000;nan;nan;nan;nan;nan;nan;-74.500;-59.000;nan;-64.000;-77.000;-79.000;nan;-72.000 diff --git a/data/train/samples/08_-1_1687_221.csv b/data/train/samples/08_-1_1687_221.csv new file mode 100644 index 0000000..5e1c805 --- /dev/null +++ b/data/train/samples/08_-1_1687_221.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E8;1687.0;221.0;-1.0;2026-02-08T22:39:53.064Z;2026-02-08T22:40:23.307Z;-80.000;nan;nan;nan;nan;nan;nan;nan;-76.000;-58.000;-71.000;-65.500;-77.000;nan;nan;-72.000 diff --git a/data/train/samples/08_-1_2547_235.csv b/data/train/samples/08_-1_2547_235.csv new file mode 100644 index 0000000..945c162 --- /dev/null +++ b/data/train/samples/08_-1_2547_235.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E8;2547.0;235.0;-1.0;2026-02-08T20:41:06.972Z;2026-02-08T20:41:37.419Z;-80.000;-82.000;nan;nan;nan;nan;nan;nan;-76.000;-59.000;-71.000;-64.000;-77.000;nan;nan;-73.000 diff --git a/data/train/samples/08_-1_2642_1057.csv b/data/train/samples/08_-1_2642_1057.csv new file mode 100644 index 0000000..a4fa26d --- /dev/null +++ b/data/train/samples/08_-1_2642_1057.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E8;2642.0;1057.0;-1.0;2026-02-08T22:38:52.587Z;2026-02-08T22:39:23.173Z;-80.000;nan;nan;nan;nan;nan;nan;nan;-76.000;-58.000;nan;-64.000;-76.000;-79.000;nan;-73.000 diff --git a/data/train/samples/08_0_1105_707.csv b/data/train/samples/08_0_1105_707.csv new file mode 100644 index 0000000..72ba47d --- /dev/null +++ b/data/train/samples/08_0_1105_707.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E8;1105.0;707.0;0.0;2026-02-08T22:40:23.178Z;2026-02-08T22:40:53.417Z;-79.000;-81.500;nan;nan;nan;nan;nan;nan;-76.000;-59.000;-71.000;-64.000;-76.000;-80.500;nan;-74.000 diff --git a/data/train/samples/08_0_2026_707.csv b/data/train/samples/08_0_2026_707.csv new file mode 100644 index 0000000..0ef9b56 --- /dev/null +++ b/data/train/samples/08_0_2026_707.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E8;2026.0;707.0;0.0;2026-02-08T22:40:53.342Z;2026-02-08T22:41:23.783Z;-80.000;nan;-83.000;nan;nan;nan;nan;nan;-76.000;-59.000;-71.000;-64.000;-77.000;-79.000;-86.000;-75.000 diff --git a/data/train/samples/08_0_2897_72.csv b/data/train/samples/08_0_2897_72.csv new file mode 100644 index 0000000..e3230f3 --- /dev/null +++ b/data/train/samples/08_0_2897_72.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E8;2897.0;72.0;0.0;2026-02-08T22:41:23.398Z;2026-02-08T22:41:54.037Z;-80.000;nan;nan;nan;nan;nan;nan;nan;-76.000;-59.000;nan;-64.000;-77.000;-78.000;nan;-75.000 diff --git a/data/train/samples/08_0_2925_1485.csv b/data/train/samples/08_0_2925_1485.csv new file mode 100644 index 0000000..28b584e --- /dev/null +++ b/data/train/samples/08_0_2925_1485.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E8;2925.0;1485.0;0.0;2026-02-08T22:41:53.882Z;2026-02-08T22:42:24.136Z;-80.000;-82.000;nan;nan;nan;nan;nan;nan;-76.000;-59.000;-76.500;-64.000;-77.000;nan;nan;-72.000 diff --git a/data/train/samples/08_0_70_1485.csv b/data/train/samples/08_0_70_1485.csv new file mode 100644 index 0000000..92a6d3e --- /dev/null +++ b/data/train/samples/08_0_70_1485.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E8;70.0;1485.0;0.0;2026-02-08T22:42:24.089Z;2026-02-08T22:42:54.160Z;-79.000;-82.000;nan;nan;nan;nan;nan;nan;-76.000;-58.000;-76.500;-64.000;-77.000;nan;nan;-72.000 diff --git a/data/train/samples/08_0_98_58.csv b/data/train/samples/08_0_98_58.csv new file mode 100644 index 0000000..4664854 --- /dev/null +++ b/data/train/samples/08_0_98_58.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E8;98.0;58.0;0.0;2026-02-08T22:42:53.484Z;2026-02-08T22:43:24.214Z;-81.000;-82.000;nan;nan;nan;nan;nan;nan;-76.000;-58.000;nan;-64.000;-77.000;-78.000;nan;-75.000 diff --git a/data/train/samples/08_1_105_67.csv b/data/train/samples/08_1_105_67.csv new file mode 100644 index 0000000..f168cb5 --- /dev/null +++ b/data/train/samples/08_1_105_67.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E8;105.0;67.0;1.0;2026-02-08T22:43:23.597Z;2026-02-08T22:43:54.276Z;-80.000;-81.000;-83.000;nan;nan;nan;nan;nan;-77.000;-57.500;-71.000;-64.000;-76.000;nan;nan;-74.000 diff --git a/data/train/samples/08_1_130_1414.csv b/data/train/samples/08_1_130_1414.csv new file mode 100644 index 0000000..d0414d8 --- /dev/null +++ b/data/train/samples/08_1_130_1414.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E8;130.0;1414.0;1.0;2026-02-08T22:43:53.689Z;2026-02-08T22:44:24.328Z;-80.000;-82.000;nan;nan;nan;nan;nan;nan;-76.000;-59.000;nan;-64.000;-76.500;nan;nan;-74.000 diff --git a/data/train/samples/08_1_1502_611.csv b/data/train/samples/08_1_1502_611.csv new file mode 100644 index 0000000..6d4d08c --- /dev/null +++ b/data/train/samples/08_1_1502_611.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E8;1502.0;611.0;1.0;2026-02-08T22:44:23.746Z;2026-02-08T22:44:54.431Z;-80.000;-82.000;nan;nan;nan;nan;nan;nan;-76.000;-59.000;nan;-64.000;-76.000;nan;nan;-75.000 diff --git a/data/train/samples/08_1_2766_157.csv b/data/train/samples/08_1_2766_157.csv new file mode 100644 index 0000000..af6625c --- /dev/null +++ b/data/train/samples/08_1_2766_157.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E8;2766.0;157.0;1.0;2026-02-08T22:44:54.304Z;2026-02-08T22:45:24.549Z;-80.000;-82.000;nan;nan;nan;nan;nan;nan;-75.500;-60.000;nan;-64.000;-77.000;nan;nan;-73.000 diff --git a/data/train/samples/08_1_2837_1393.csv b/data/train/samples/08_1_2837_1393.csv new file mode 100644 index 0000000..efda28a --- /dev/null +++ b/data/train/samples/08_1_2837_1393.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E8;2837.0;1393.0;1.0;2026-02-08T22:45:24.548Z;2026-02-08T22:45:54.786Z;-80.000;-82.000;nan;nan;nan;nan;nan;nan;-76.000;-58.000;-71.000;-64.000;-77.000;nan;nan;-72.000 diff --git a/data/train/samples/0_1250_600.csv b/data/train/samples/0_1250_600.csv deleted file mode 100755 index f591c0f..0000000 --- a/data/train/samples/0_1250_600.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;1250;600;0;-79.000;-85.000;-75.000;nan;nan;nan;nan;nan;-76.000;-53.000;-78.000;-67.000;-75.000;-81.000;-83.000;-78.000 diff --git a/data/train/samples/0_1350_700.csv b/data/train/samples/0_1350_700.csv deleted file mode 100755 index f24f3b5..0000000 --- a/data/train/samples/0_1350_700.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;1350;700;0;-79.000;nan;-78.000;nan;nan;nan;nan;nan;-77.000;-54.000;-75.000;-65.000;-76.500;-80.000;-83.000;-77.000 diff --git a/data/train/samples/0_1356_1256.csv b/data/train/samples/0_1356_1256.csv deleted file mode 100644 index 5b811ed..0000000 --- a/data/train/samples/0_1356_1256.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;1356;1256;0;-72.000;-82.000;-75.500;nan;nan;nan;nan;nan;-80.000;-51.000;-74.000;-64.500;-70.000;-79.000;nan;-75.500 diff --git a/data/train/samples/0_1450_500.csv b/data/train/samples/0_1450_500.csv deleted file mode 100755 index 59e1be5..0000000 --- a/data/train/samples/0_1450_500.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;1450;500;0;-79.000;nan;-83.000;nan;nan;nan;nan;nan;-75.000;-53.000;-72.000;-66.000;-76.500;-81.000;-83.000;-77.000 diff --git a/data/train/samples/0_1550_850.csv b/data/train/samples/0_1550_850.csv deleted file mode 100755 index c33b1f7..0000000 --- a/data/train/samples/0_1550_850.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;1550;850;0;-79.000;nan;-76.000;nan;nan;nan;nan;nan;-76.000;-55.000;-76.000;-70.000;-78.000;-81.000;-83.000;-78.000 diff --git a/data/train/samples/0_1580_180.csv b/data/train/samples/0_1580_180.csv deleted file mode 100644 index a97a157..0000000 --- a/data/train/samples/0_1580_180.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E8;1580;180;0;-80.000;-82.000;-83.500;nan;-85.500;nan;nan;nan;-76.000;-59.000;-71.000;-64.000;-77.000;-78.000;-85.000;-74.000 diff --git a/data/train/samples/0_1600_450.csv b/data/train/samples/0_1600_450.csv deleted file mode 100644 index 0c62b72..0000000 --- a/data/train/samples/0_1600_450.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;1600;450;0;-72.000;-82.000;-75.000;nan;nan;nan;nan;nan;-81.000;-51.500;-75.000;-64.000;-73.000;-77.500;nan;-76.000 diff --git a/data/train/samples/0_195_1425.csv b/data/train/samples/0_195_1425.csv deleted file mode 100644 index f8a8c35..0000000 --- a/data/train/samples/0_195_1425.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;195;1425;0;-76.000;-82.000;-75.000;nan;nan;nan;nan;nan;-80.000;-52.000;-74.000;-64.000;-70.000;-78.000;nan;-76.000 diff --git a/data/train/samples/0_2114_796.csv b/data/train/samples/0_2114_796.csv deleted file mode 100644 index e017bd3..0000000 --- a/data/train/samples/0_2114_796.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;2114;796;0;-72.000;-82.000;-76.000;nan;nan;nan;nan;nan;-80.000;-52.000;-75.000;-64.000;-70.500;-78.000;nan;-75.000 diff --git a/data/train/samples/0_2115_697.csv b/data/train/samples/0_2115_697.csv deleted file mode 100644 index 9fbe58e..0000000 --- a/data/train/samples/0_2115_697.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;2115;697;0;-76.000;-82.000;-76.000;nan;nan;nan;nan;nan;-80.000;-52.000;-75.000;-64.000;-71.000;-77.000;nan;-76.000 diff --git a/data/train/samples/0_2142_616.csv b/data/train/samples/0_2142_616.csv deleted file mode 100644 index 60ea322..0000000 --- a/data/train/samples/0_2142_616.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;2142;616;0;-77.000;-82.000;-76.000;nan;nan;nan;nan;nan;-80.000;-52.000;-75.000;-64.000;-72.000;-78.000;nan;-76.000 diff --git a/data/train/samples/0_2491_543.csv b/data/train/samples/0_2491_543.csv deleted file mode 100644 index ef36d1d..0000000 --- a/data/train/samples/0_2491_543.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:D4;2491;543;0;-77.000;nan;-79.000;nan;-84.000;nan;nan;nan;-74.000;nan;-75.000;-67.000;-77.000;-78.000;-83.000;-73.000 diff --git a/data/train/samples/0_2568_946.csv b/data/train/samples/0_2568_946.csv deleted file mode 100644 index c113463..0000000 --- a/data/train/samples/0_2568_946.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;2568;946;0;-76.000;-83.000;-76.000;nan;nan;nan;nan;nan;-80.000;-51.000;-74.500;-64.000;-73.000;-77.000;nan;-76.000 diff --git a/data/train/samples/0_400_100.csv b/data/train/samples/0_400_100.csv deleted file mode 100644 index 74e532b..0000000 --- a/data/train/samples/0_400_100.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;400;100;0;-77.000;-83.000;-75.000;nan;nan;nan;nan;nan;-80.000;-51.000;-76.000;-64.000;-73.000;-78.000;nan;-76.000 diff --git a/data/train/samples/0_534_999.csv b/data/train/samples/0_534_999.csv deleted file mode 100644 index f472cf4..0000000 --- a/data/train/samples/0_534_999.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:D4;534;999;0;-77.000;nan;-79.000;nan;-84.000;nan;nan;nan;-76.000;nan;-73.500;-66.000;-76.000;-78.000;-83.000;-73.000 diff --git a/data/train/samples/0_562_239.csv b/data/train/samples/0_562_239.csv deleted file mode 100644 index 391b322..0000000 --- a/data/train/samples/0_562_239.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E7;562;239;0;-83.500;nan;-83.000;nan;nan;nan;nan;nan;-78.000;-48.000;-71.000;-75.000;-74.000;-78.500;-83.000;-80.000 diff --git a/data/train/samples/0_619_122.csv b/data/train/samples/0_619_122.csv deleted file mode 100644 index f7cf6a0..0000000 --- a/data/train/samples/0_619_122.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;619;122;0;-72.000;-82.000;-75.000;nan;nan;nan;nan;nan;-80.000;-52.000;-75.500;-64.000;-73.000;-78.000;nan;-76.000 diff --git a/data/train/samples/12_-1_1291_655.csv b/data/train/samples/12_-1_1291_655.csv new file mode 100644 index 0000000..ce2faec --- /dev/null +++ b/data/train/samples/12_-1_1291_655.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:F1;1291.0;655.0;-1.0;2026-02-08T20:40:06.871Z;2026-02-08T20:40:37.302Z;nan;nan;nan;nan;nan;nan;nan;nan;-80.000;-48.000;-73.000;-65.000;-71.000;-77.000;-82.000;-81.000 diff --git a/data/train/samples/12_-1_1417_1081.csv b/data/train/samples/12_-1_1417_1081.csv new file mode 100644 index 0000000..da0f854 --- /dev/null +++ b/data/train/samples/12_-1_1417_1081.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:F1;1417.0;1081.0;-1.0;2026-02-08T20:40:36.921Z;2026-02-08T20:41:07.362Z;nan;nan;nan;nan;nan;nan;nan;nan;-81.000;-48.000;-69.000;-65.000;-71.000;nan;-82.000;-81.000 diff --git a/data/train/samples/12_-1_152_1379.csv b/data/train/samples/12_-1_152_1379.csv new file mode 100644 index 0000000..f063c6f --- /dev/null +++ b/data/train/samples/12_-1_152_1379.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:F1;152.0;1379.0;-1.0;2026-02-08T22:39:22.733Z;2026-02-08T22:39:53.224Z;nan;nan;nan;nan;nan;nan;nan;nan;-77.000;-48.000;-69.000;-65.000;-71.000;nan;-82.000;-81.000 diff --git a/data/train/samples/12_-1_1687_221.csv b/data/train/samples/12_-1_1687_221.csv new file mode 100644 index 0000000..4d6a07c --- /dev/null +++ b/data/train/samples/12_-1_1687_221.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:F1;1687.0;221.0;-1.0;2026-02-08T22:39:53.064Z;2026-02-08T22:40:23.307Z;nan;nan;nan;nan;nan;nan;nan;nan;-77.000;-48.000;-69.000;-65.000;-71.000;nan;nan;-82.000 diff --git a/data/train/samples/12_-1_2122_693.csv b/data/train/samples/12_-1_2122_693.csv new file mode 100644 index 0000000..c0ee338 --- /dev/null +++ b/data/train/samples/12_-1_2122_693.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:F1;2122.0;693.0;-1.0;2026-02-08T20:17:54.993Z;2026-02-08T20:18:24.283Z;nan;nan;nan;nan;nan;nan;nan;nan;-81.000;-48.000;-69.000;-65.000;-71.000;nan;-82.000;-81.000 diff --git a/data/train/samples/12_-1_2547_235.csv b/data/train/samples/12_-1_2547_235.csv new file mode 100644 index 0000000..d6857e2 --- /dev/null +++ b/data/train/samples/12_-1_2547_235.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:F1;2547.0;235.0;-1.0;2026-02-08T20:41:06.972Z;2026-02-08T20:41:37.419Z;nan;nan;nan;nan;nan;nan;nan;nan;-78.500;-48.000;-69.000;-65.000;-71.000;nan;nan;-81.000 diff --git a/data/train/samples/12_-1_2642_1057.csv b/data/train/samples/12_-1_2642_1057.csv new file mode 100644 index 0000000..8a6d265 --- /dev/null +++ b/data/train/samples/12_-1_2642_1057.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:F1;2642.0;1057.0;-1.0;2026-02-08T22:38:52.587Z;2026-02-08T22:39:23.173Z;nan;nan;nan;nan;nan;nan;nan;nan;-77.000;-48.000;-69.000;-65.000;-71.000;nan;-82.000;-81.000 diff --git a/data/train/samples/12_0_1105_707.csv b/data/train/samples/12_0_1105_707.csv new file mode 100644 index 0000000..f8cf7dd --- /dev/null +++ b/data/train/samples/12_0_1105_707.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:F1;1105.0;707.0;0.0;2026-02-08T22:40:23.178Z;2026-02-08T22:40:53.417Z;nan;nan;nan;nan;nan;nan;nan;nan;-79.000;-48.000;-70.000;-65.000;-71.000;-80.500;nan;-81.000 diff --git a/data/train/samples/12_0_2026_707.csv b/data/train/samples/12_0_2026_707.csv new file mode 100644 index 0000000..39d9c0b --- /dev/null +++ b/data/train/samples/12_0_2026_707.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:F1;2026.0;707.0;0.0;2026-02-08T22:40:53.342Z;2026-02-08T22:41:23.783Z;nan;nan;nan;nan;nan;nan;nan;nan;-77.000;-48.000;-69.000;-64.500;-71.000;-80.500;-83.000;-81.000 diff --git a/data/train/samples/12_0_2897_72.csv b/data/train/samples/12_0_2897_72.csv new file mode 100644 index 0000000..122b614 --- /dev/null +++ b/data/train/samples/12_0_2897_72.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:F1;2897.0;72.0;0.0;2026-02-08T22:41:23.398Z;2026-02-08T22:41:54.037Z;nan;nan;nan;nan;nan;nan;nan;nan;-80.500;-48.000;-69.000;-65.000;-71.000;-77.000;-82.000;-81.000 diff --git a/data/train/samples/12_0_2925_1485.csv b/data/train/samples/12_0_2925_1485.csv new file mode 100644 index 0000000..9f8a6c9 --- /dev/null +++ b/data/train/samples/12_0_2925_1485.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:F1;2925.0;1485.0;0.0;2026-02-08T22:41:53.882Z;2026-02-08T22:42:24.136Z;nan;nan;nan;nan;nan;nan;nan;nan;-77.000;-48.000;-69.500;-65.000;-71.000;nan;-82.000;-81.000 diff --git a/data/train/samples/12_0_70_1485.csv b/data/train/samples/12_0_70_1485.csv new file mode 100644 index 0000000..790945e --- /dev/null +++ b/data/train/samples/12_0_70_1485.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:F1;70.0;1485.0;0.0;2026-02-08T22:42:24.089Z;2026-02-08T22:42:54.160Z;nan;nan;nan;nan;nan;nan;nan;nan;-80.000;-48.000;-69.000;-65.000;-71.000;nan;-82.000;-81.500 diff --git a/data/train/samples/12_0_98_58.csv b/data/train/samples/12_0_98_58.csv new file mode 100644 index 0000000..e3644fc --- /dev/null +++ b/data/train/samples/12_0_98_58.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:F1;98.0;58.0;0.0;2026-02-08T22:42:53.484Z;2026-02-08T22:43:24.214Z;nan;nan;nan;nan;nan;nan;nan;nan;-77.000;-48.000;-70.000;-65.000;-71.000;-79.000;-82.000;-81.000 diff --git a/data/train/samples/12_1_105_67.csv b/data/train/samples/12_1_105_67.csv new file mode 100644 index 0000000..eebc32d --- /dev/null +++ b/data/train/samples/12_1_105_67.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:F1;105.0;67.0;1.0;2026-02-08T22:43:23.597Z;2026-02-08T22:43:54.276Z;nan;nan;nan;nan;nan;nan;nan;nan;-77.000;-48.000;-69.000;-65.000;-71.000;-79.000;-82.000;-81.000 diff --git a/data/train/samples/12_1_130_1414.csv b/data/train/samples/12_1_130_1414.csv new file mode 100644 index 0000000..e96d300 --- /dev/null +++ b/data/train/samples/12_1_130_1414.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:F1;130.0;1414.0;1.0;2026-02-08T22:43:53.689Z;2026-02-08T22:44:24.328Z;nan;nan;nan;nan;nan;nan;nan;nan;-81.000;-48.000;-71.000;-65.000;-71.000;-77.000;-82.000;-82.000 diff --git a/data/train/samples/12_1_1502_611.csv b/data/train/samples/12_1_1502_611.csv new file mode 100644 index 0000000..68636dc --- /dev/null +++ b/data/train/samples/12_1_1502_611.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:F1;1502.0;611.0;1.0;2026-02-08T22:44:23.746Z;2026-02-08T22:44:54.431Z;nan;nan;nan;nan;nan;nan;nan;nan;-77.000;-44.000;-71.000;-65.000;-71.000;nan;nan;-81.000 diff --git a/data/train/samples/12_1_2766_157.csv b/data/train/samples/12_1_2766_157.csv new file mode 100644 index 0000000..cee0ccd --- /dev/null +++ b/data/train/samples/12_1_2766_157.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:F1;2766.0;157.0;1.0;2026-02-08T22:44:54.304Z;2026-02-08T22:45:24.549Z;nan;nan;nan;nan;nan;nan;nan;nan;-78.500;-48.000;-69.000;-65.000;-71.000;nan;nan;-81.000 diff --git a/data/train/samples/12_1_2837_1393.csv b/data/train/samples/12_1_2837_1393.csv new file mode 100644 index 0000000..4905865 --- /dev/null +++ b/data/train/samples/12_1_2837_1393.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:F1;2837.0;1393.0;1.0;2026-02-08T22:45:24.548Z;2026-02-08T22:45:54.786Z;nan;nan;nan;nan;nan;nan;nan;nan;-78.500;-48.000;-69.000;-66.500;-71.000;nan;-81.500;-81.000 diff --git a/data/train/samples/1_1050_1450.csv b/data/train/samples/1_1050_1450.csv deleted file mode 100755 index 7495c85..0000000 --- a/data/train/samples/1_1050_1450.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;1050;1450;1;-79.000;nan;-78.000;nan;nan;nan;nan;nan;-75.000;-53.000;-77.000;-64.000;-74.000;-79.000;-82.000;-78.000 diff --git a/data/train/samples/1_1050_400.csv b/data/train/samples/1_1050_400.csv deleted file mode 100644 index e9323f8..0000000 --- a/data/train/samples/1_1050_400.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:F1;1050;400;1;nan;nan;nan;nan;nan;nan;nan;nan;-77.000;nan;-69.000;-65.000;-71.000;-77.000;-82.000;-81.000 diff --git a/data/train/samples/1_1050_500.csv b/data/train/samples/1_1050_500.csv deleted file mode 100644 index 6ac0941..0000000 --- a/data/train/samples/1_1050_500.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;1050;500;1;-76.000;-82.000;-75.000;nan;nan;nan;nan;nan;-80.000;-51.000;-75.000;-64.000;-73.000;-77.000;nan;-76.000 diff --git a/data/train/samples/1_1195_1315.csv b/data/train/samples/1_1195_1315.csv deleted file mode 100755 index d14825a..0000000 --- a/data/train/samples/1_1195_1315.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E7;1195;1315;1;-82.000;-82.000;nan;nan;nan;nan;nan;nan;-78.000;-51.000;-73.500;-56.000;-74.000;nan;nan;-80.000 diff --git a/data/train/samples/1_130_1386.csv b/data/train/samples/1_130_1386.csv deleted file mode 100644 index 760b1b1..0000000 --- a/data/train/samples/1_130_1386.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E8;130;1386;1;-80.000;-82.000;-84.000;nan;-85.000;nan;nan;nan;-76.000;-59.000;-71.000;-64.000;-77.000;-78.000;-85.000;-74.000 diff --git a/data/train/samples/1_1400_1530.csv b/data/train/samples/1_1400_1530.csv deleted file mode 100755 index b173cf6..0000000 --- a/data/train/samples/1_1400_1530.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:F1;1400;1530;1;-79.000;nan;-78.000;nan;nan;nan;nan;nan;-83.000;-38.000;-77.000;-53.000;-75.000;nan;nan;-79.000 diff --git a/data/train/samples/1_1425_1050.csv b/data/train/samples/1_1425_1050.csv deleted file mode 100755 index 49bb4b7..0000000 --- a/data/train/samples/1_1425_1050.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E8;1425;1050;1;-79.500;nan;nan;nan;nan;nan;nan;nan;-75.000;-59.000;-78.500;-66.000;nan;nan;-84.000;-78.000 diff --git a/data/train/samples/1_1450_600.csv b/data/train/samples/1_1450_600.csv deleted file mode 100644 index d048aa8..0000000 --- a/data/train/samples/1_1450_600.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E7;1450;600;1;-83.500;nan;-83.000;nan;nan;nan;nan;nan;-79.000;-48.000;-71.000;-75.000;-77.000;-77.000;-83.000;-80.000 diff --git a/data/train/samples/1_1800_600.csv b/data/train/samples/1_1800_600.csv deleted file mode 100644 index 011a286..0000000 --- a/data/train/samples/1_1800_600.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E8;1800;600;1;-80.000;-82.000;-83.000;nan;nan;nan;nan;nan;-76.000;-59.000;-71.000;-64.000;-76.500;-79.000;-84.500;-72.000 diff --git a/data/train/samples/1_1900_1400.csv b/data/train/samples/1_1900_1400.csv deleted file mode 100644 index 52335a3..0000000 --- a/data/train/samples/1_1900_1400.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:F1;1900;1400;1;nan;nan;nan;nan;nan;nan;nan;nan;-77.000;nan;-69.000;-65.000;-71.000;-77.000;-82.000;-81.000 diff --git a/data/train/samples/1_2200_1000.csv b/data/train/samples/1_2200_1000.csv deleted file mode 100644 index dc33c98..0000000 --- a/data/train/samples/1_2200_1000.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:F1;2200;1000;1;nan;nan;nan;nan;nan;nan;nan;nan;-77.000;nan;-69.000;-65.000;-71.000;-78.000;-82.000;-81.000 diff --git a/data/train/samples/1_2400_300.csv b/data/train/samples/1_2400_300.csv deleted file mode 100644 index e0d09b1..0000000 --- a/data/train/samples/1_2400_300.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E7;2400;300;1;-83.000;nan;-83.000;nan;nan;nan;nan;nan;-78.000;-48.000;-71.000;-76.500;-77.000;-77.000;-83.000;-80.000 diff --git a/data/train/samples/1_2500_1300.csv b/data/train/samples/1_2500_1300.csv deleted file mode 100644 index 63d99ee..0000000 --- a/data/train/samples/1_2500_1300.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E7;2500;1300;1;-84.000;nan;-83.000;nan;nan;nan;nan;nan;-79.000;-48.000;-71.000;-77.000;-77.000;-77.500;-83.000;-80.000 diff --git a/data/train/samples/1_2750_200.csv b/data/train/samples/1_2750_200.csv deleted file mode 100644 index 13f4db4..0000000 --- a/data/train/samples/1_2750_200.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;2750;200;1;-72.000;-83.000;-76.000;nan;nan;nan;nan;nan;-80.000;-51.000;-74.500;-64.000;-70.000;-78.000;nan;-76.000 diff --git a/data/train/samples/1_800_1050.csv b/data/train/samples/1_800_1050.csv deleted file mode 100755 index 463c523..0000000 --- a/data/train/samples/1_800_1050.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;800;1050;1;-78.000;-82.000;-75.500;nan;nan;nan;nan;nan;-73.500;-53.000;-78.000;-66.000;-74.000;nan;-83.000;-77.000 diff --git a/data/train/samples/1_850_1545.csv b/data/train/samples/1_850_1545.csv deleted file mode 100755 index 3b376ed..0000000 --- a/data/train/samples/1_850_1545.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:D4;850;1545;1;nan;-84.000;-78.000;nan;nan;nan;nan;nan;-79.000;-61.500;-80.000;-66.000;nan;-81.000;-82.000;-74.000 diff --git a/data/train/samples/1_950_750.csv b/data/train/samples/1_950_750.csv deleted file mode 100644 index b48f6a9..0000000 --- a/data/train/samples/1_950_750.csv +++ /dev/null @@ -1,2 +0,0 @@ -mac;x;y;z;AC:23:3F:C1:DD:3C;AC:23:3F:C1:DD:49;AC:23:3F:C1:DC:EE;AC:23:3F:C1:DD:40;AC:23:3F:C1:DD:51;AC:23:3F:C1:DD:48;AC:23:3F:C1:DD:50;AC:23:3F:C1:DC:D3;AC:23:3F:C1:DD:55;AC:23:3F:C1:DC:D1;AC:23:3F:C1:DC:CB;AC:23:3F:C1:DC:D2;AC:23:3F:C1:DD:31;AC:23:3F:C1:DD:4B;AC:23:3F:C1:DD:4E;AC:23:3F:C1:DC:CD -C3:00:00:57:B9:E6;950;750;1;-72.000;-82.000;-75.500;nan;nan;nan;nan;nan;-80.000;-52.000;-74.000;-64.000;-71.500;-77.000;nan;-76.000 diff --git a/data/train/testjobs/done/GBC-04_-1_2120_1236.csv b/data/train/testjobs/done/GBC-04_-1_2120_1236.csv new file mode 100644 index 0000000..046debc --- /dev/null +++ b/data/train/testjobs/done/GBC-04_-1_2120_1236.csv @@ -0,0 +1,4 @@ +Position;Floor;RoomName;X;Y;Z;BeaconName;MAC +BC-00-21_-1_2120_1236;-1;BC-00-21;2120;1236;-1;BC-00-21;C3:00:00:57:B9:E6 +BC-00-25_-1_2120_1236;-1;BC-00-25;2120;1236;-1;BC-00-25;C3:00:00:57:B9:E7 +BC-08-23_-1_2120_1236;-1;BC-08-23;2120;1236;-1;BC-08-23;C3:00:00:57:B9:E8 diff --git a/data/train/testsamples/00_-1_2120_1236.csv b/data/train/testsamples/00_-1_2120_1236.csv new file mode 100644 index 0000000..74f9dc0 --- /dev/null +++ b/data/train/testsamples/00_-1_2120_1236.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E7;2120.0;1236.0;-1.0;2026-02-08T20:18:25.327Z;2026-02-08T20:18:55.256Z;nan;nan;nan;nan;nan;nan;nan;nan;nan;-49.000;nan;-74.000;-77.000;-80.000;nan;-80.000 diff --git a/data/train/testsamples/08_-1_2120_1236.csv b/data/train/testsamples/08_-1_2120_1236.csv new file mode 100644 index 0000000..032c974 --- /dev/null +++ b/data/train/testsamples/08_-1_2120_1236.csv @@ -0,0 +1,2 @@ +mac;x;y;z;ts_start;ts_end;ac:23:3f:c1:dd:3c;ac:23:3f:c1:dd:49;ac:23:3f:c1:dc:ee;ac:23:3f:c1:dd:40;ac:23:3f:c1:dd:51;ac:23:3f:c1:dd:48;ac:23:3f:c1:dd:50;ac:23:3f:c1:dc:d3;ac:23:3f:c1:dd:55;ac:23:3f:c1:dc:d1;ac:23:3f:c1:dc:cb;ac:23:3f:c1:dc:d2;ac:23:3f:c1:dd:31;ac:23:3f:c1:dd:4b;ac:23:3f:c1:dd:4e;ac:23:3f:c1:dc:cd +C3:00:00:57:B9:E8;2120.0;1236.0;-1.0;2026-02-08T20:18:25.327Z;2026-02-08T20:18:55.256Z;-80.000;-82.000;nan;nan;nan;nan;nan;nan;-76.000;-58.000;nan;-64.000;-76.500;nan;nan;-73.000 diff --git a/tmp/main_process.log b/tmp/main_process.log index 9676e31..8b7f773 100644 --- a/tmp/main_process.log +++ b/tmp/main_process.log @@ -1,13461 +1,265 @@ -2026-02-06T23:28:34.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-06T23:28:34.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-06T23:28:34.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-06T23:28:34.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-06T23:28:34.000Z MQTT thread started (collect_train) -2026-02-06T23:28:34.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0)2026-02-06T23:28:34.000Z MQTT connected rc=0, subscribed to publish_out/# +--- Log resettato il 2026-02-09 02:30:18 --- +2026-02-09T03:30:18.000Z CYCLE: 0/12 localized +2026-02-09T03:30:28.000Z CYCLE: 0/12 localized +2026-02-09T03:30:38.000Z CYCLE: 0/12 localized +2026-02-09T03:30:48.000Z CYCLE: 0/12 localized +2026-02-09T03:30:58.000Z CYCLE: 0/12 localized +2026-02-09T03:31:08.000Z CYCLE: 0/12 localized +2026-02-09T03:31:18.000Z CYCLE: 0/12 localized +2026-02-09T03:31:28.000Z CYCLE: 0/12 localized +2026-02-09T03:31:38.000Z CYCLE: 0/12 localized +2026-02-09T03:31:48.000Z CYCLE: 0/12 localized +2026-02-09T03:31:58.000Z CYCLE: 0/12 localized +2026-02-09T03:32:08.000Z CYCLE: 0/12 localized +2026-02-09T03:32:18.000Z CYCLE: 0/12 localized +2026-02-09T03:32:28.000Z CYCLE: 0/12 localized +2026-02-09T03:32:39.000Z CYCLE: 0/12 localized +2026-02-09T03:32:49.000Z CYCLE: 0/12 localized +2026-02-09T03:32:59.000Z CYCLE: 0/12 localized +2026-02-09T03:33:09.000Z CYCLE: 0/12 localized +2026-02-09T03:33:19.000Z CYCLE: 0/12 localized +2026-02-09T03:33:29.000Z CYCLE: 0/12 localized +2026-02-09T03:33:39.000Z CYCLE: 0/12 localized +2026-02-09T03:33:49.000Z CYCLE: 0/12 localized +2026-02-09T03:33:59.000Z CYCLE: 0/12 localized +2026-02-09T03:34:09.000Z CYCLE: 0/12 localized +2026-02-09T03:34:19.000Z CYCLE: 0/12 localized +2026-02-09T03:34:29.000Z CYCLE: 0/12 localized +2026-02-09T03:34:39.000Z CYCLE: 0/12 localized +2026-02-09T03:34:49.000Z CYCLE: 0/12 localized +2026-02-09T03:34:59.000Z CYCLE: 0/12 localized +2026-02-09T03:35:10.000Z CYCLE: 0/12 localized +2026-02-09T03:35:19.000Z CYCLE: 0/12 localized +2026-02-09T03:36:24.000Z Core Orchestrator avviato. BUILD: core-orchestrator-v1.4-background-train +2026-02-09T03:36:24.000Z Avvio modalità SIMULTANEA (Collect + Train Executor + Infer)... +2026-02-09T03:36:24.000Z INFER_MODE build tag=infer-debug-v20-autoreload +2026-02-09T03:36:24.000Z Tutti i processi core (incluso Train Executor) sono attivi. +2026-02-09T03:36:24.000Z 🧠 Caricamento/Aggiornamento modello: /data/model/model.joblib +2026-02-09T03:36:24.000Z ✅ MODELLO PRONTO: 16 GW allenati. +2026-02-09T03:36:24.000Z 🏢 Piani mappati: [-1, 0, 1] +2026-02-09T03:36:24.000Z 🧪 Valore Fill (NaN): -110.0 +2026-02-09T03:36:24.000Z 📡 Primi 3 GW di riferimento: ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE'] +2026-02-09T03:36:24.000Z [1/16] ONLINE: ac:23:3f:c1:dd:4e +2026-02-09T03:36:24.000Z CYCLE: 0/12 localized +2026-02-09T03:36:24.000Z [2/16] ONLINE: ac:23:3f:c1:dc:cd +2026-02-09T03:36:24.000Z [3/16] ONLINE: ac:23:3f:c1:dc:d3 +2026-02-09T03:36:24.000Z [4/16] ONLINE: ac:23:3f:c1:dc:d1 +2026-02-09T03:36:25.000Z [5/16] ONLINE: ac:23:3f:c1:dd:31 +2026-02-09T03:36:25.000Z [6/16] ONLINE: ac:23:3f:c1:dc:ee +2026-02-09T03:36:25.000Z [7/16] ONLINE: ac:23:3f:c1:dd:40 +2026-02-09T03:36:25.000Z [8/16] ONLINE: ac:23:3f:c1:dc:cb +2026-02-09T03:36:25.000Z [9/16] ONLINE: ac:23:3f:c1:dc:d2 +2026-02-09T03:36:25.000Z [10/16] ONLINE: ac:23:3f:c1:dd:3c +2026-02-09T03:36:25.000Z [11/16] ONLINE: ac:23:3f:c1:dd:51 +2026-02-09T03:36:25.000Z [12/16] ONLINE: ac:23:3f:c1:dd:55 +2026-02-09T03:36:25.000Z [13/16] ONLINE: ac:23:3f:c1:dd:4b +2026-02-09T03:36:25.000Z [14/16] ONLINE: ac:23:3f:c1:dd:48 +2026-02-09T03:36:26.000Z [15/16] ONLINE: ac:23:3f:c1:dd:49 +2026-02-09T03:36:26.000Z [16/16] ONLINE: ac:23:3f:c1:dd:50 +2026-02-09T03:36:26.000Z Collector pronto. Monitoraggio directory Job... +2026-02-09T03:36:34.000Z CYCLE: 0/12 localized +2026-02-09T03:36:44.000Z CYCLE: 0/12 localized +2026-02-09T03:36:54.000Z CYCLE: 0/12 localized +2026-02-09T03:37:04.000Z CYCLE: 0/12 localized +2026-02-09T03:37:14.000Z CYCLE: 0/12 localized +2026-02-09T03:37:25.000Z CYCLE: 0/12 localized +2026-02-09T03:37:35.000Z CYCLE: 0/12 localized +2026-02-09T03:37:45.000Z CYCLE: 0/12 localized +2026-02-09T03:37:55.000Z CYCLE: 0/12 localized +2026-02-09T03:38:05.000Z CYCLE: 0/12 localized +2026-02-09T03:38:15.000Z CYCLE: 0/12 localized +2026-02-09T03:38:25.000Z CYCLE: 0/12 localized +2026-02-09T03:38:35.000Z CYCLE: 0/12 localized +2026-02-09T03:38:45.000Z CYCLE: 0/12 localized +2026-02-09T03:38:55.000Z CYCLE: 0/12 localized +2026-02-09T03:39:05.000Z CYCLE: 0/12 localized +2026-02-09T03:39:15.000Z CYCLE: 0/12 localized +2026-02-09T03:39:25.000Z CYCLE: 0/12 localized +2026-02-09T03:39:35.000Z CYCLE: 0/12 localized +2026-02-09T03:39:45.000Z CYCLE: 0/12 localized +2026-02-09T03:39:55.000Z CYCLE: 0/12 localized +2026-02-09T03:40:05.000Z CYCLE: 0/12 localized +2026-02-09T03:40:16.000Z CYCLE: 0/12 localized +2026-02-09T03:40:26.000Z CYCLE: 0/12 localized +2026-02-09T03:40:36.000Z CYCLE: 0/12 localized +2026-02-09T03:40:46.000Z CYCLE: 0/12 localized +2026-02-09T03:40:56.000Z CYCLE: 0/12 localized +2026-02-09T03:41:06.000Z CYCLE: 0/12 localized +2026-02-09T03:41:16.000Z CYCLE: 0/12 localized +2026-02-09T03:41:26.000Z CYCLE: 0/12 localized +2026-02-09T03:41:36.000Z CYCLE: 0/12 localized +2026-02-09T03:41:46.000Z CYCLE: 0/12 localized +2026-02-09T03:41:56.000Z CYCLE: 0/12 localized +2026-02-09T03:42:06.000Z CYCLE: 0/12 localized +2026-02-09T03:42:16.000Z CYCLE: 0/12 localized +2026-02-09T03:42:26.000Z CYCLE: 0/12 localized +2026-02-09T03:42:36.000Z CYCLE: 0/12 localized +2026-02-09T03:42:46.000Z CYCLE: 0/12 localized +2026-02-09T03:42:56.000Z CYCLE: 0/12 localized +2026-02-09T03:43:06.000Z CYCLE: 0/12 localized +2026-02-09T03:43:17.000Z CYCLE: 0/12 localized +2026-02-09T03:43:27.000Z CYCLE: 0/12 localized +2026-02-09T03:43:37.000Z CYCLE: 0/12 localized +2026-02-09T03:43:47.000Z CYCLE: 0/12 localized +2026-02-09T03:43:57.000Z CYCLE: 0/12 localized +2026-02-09T03:44:07.000Z CYCLE: 0/12 localized +2026-02-09T03:44:17.000Z CYCLE: 0/12 localized +2026-02-09T03:44:27.000Z CYCLE: 0/12 localized +2026-02-09T03:44:37.000Z CYCLE: 0/12 localized +2026-02-09T03:44:47.000Z CYCLE: 0/12 localized +2026-02-09T03:44:57.000Z CYCLE: 0/12 localized +2026-02-09T03:45:07.000Z CYCLE: 0/12 localized +2026-02-09T03:45:17.000Z CYCLE: 0/12 localized +2026-02-09T03:45:27.000Z CYCLE: 0/12 localized +2026-02-09T03:45:37.000Z CYCLE: 0/12 localized +2026-02-09T03:45:47.000Z CYCLE: 0/12 localized +2026-02-09T03:45:57.000Z CYCLE: 0/12 localized +2026-02-09T03:46:08.000Z CYCLE: 0/12 localized +2026-02-09T03:46:18.000Z CYCLE: 0/12 localized +2026-02-09T03:46:28.000Z CYCLE: 0/12 localized +2026-02-09T03:46:38.000Z CYCLE: 0/12 localized +2026-02-09T03:46:48.000Z CYCLE: 0/12 localized +2026-02-09T03:46:58.000Z CYCLE: 0/12 localized +2026-02-09T03:47:08.000Z CYCLE: 0/12 localized +2026-02-09T03:47:18.000Z CYCLE: 0/12 localized +2026-02-09T03:47:28.000Z CYCLE: 0/12 localized +2026-02-09T03:47:38.000Z CYCLE: 0/12 localized +2026-02-09T03:47:48.000Z CYCLE: 0/12 localized +2026-02-09T03:47:58.000Z CYCLE: 0/12 localized +2026-02-09T03:48:08.000Z CYCLE: 0/12 localized +2026-02-09T03:48:18.000Z CYCLE: 0/12 localized +2026-02-09T03:48:28.000Z CYCLE: 0/12 localized +2026-02-09T03:48:38.000Z CYCLE: 0/12 localized +2026-02-09T03:48:48.000Z CYCLE: 0/12 localized +2026-02-09T03:48:58.000Z CYCLE: 0/12 localized +2026-02-09T03:49:09.000Z CYCLE: 0/12 localized +2026-02-09T03:49:19.000Z CYCLE: 0/12 localized +2026-02-09T03:49:29.000Z CYCLE: 0/12 localized +2026-02-09T03:49:39.000Z CYCLE: 0/12 localized +2026-02-09T03:49:49.000Z CYCLE: 0/12 localized +2026-02-09T03:49:59.000Z CYCLE: 0/12 localized +2026-02-09T03:50:09.000Z CYCLE: 0/12 localized +2026-02-09T03:50:19.000Z CYCLE: 0/12 localized +2026-02-09T03:50:29.000Z CYCLE: 0/12 localized +2026-02-09T03:50:39.000Z CYCLE: 0/12 localized +2026-02-09T03:50:49.000Z CYCLE: 0/12 localized +2026-02-09T03:50:59.000Z CYCLE: 0/12 localized +2026-02-09T03:51:09.000Z CYCLE: 0/12 localized +2026-02-09T03:51:19.000Z CYCLE: 0/12 localized +2026-02-09T03:51:29.000Z CYCLE: 0/12 localized +2026-02-09T03:51:39.000Z CYCLE: 0/12 localized +2026-02-09T03:51:49.000Z CYCLE: 0/12 localized +2026-02-09T03:51:59.000Z CYCLE: 0/12 localized +2026-02-09T03:52:10.000Z CYCLE: 0/12 localized +2026-02-09T03:52:20.000Z CYCLE: 0/12 localized +2026-02-09T03:52:30.000Z CYCLE: 0/12 localized +2026-02-09T03:52:40.000Z CYCLE: 0/12 localized +2026-02-09T03:52:50.000Z CYCLE: 0/12 localized +2026-02-09T03:53:00.000Z CYCLE: 0/12 localized +2026-02-09T03:53:10.000Z CYCLE: 0/12 localized +2026-02-09T03:53:20.000Z CYCLE: 0/12 localized +2026-02-09T03:53:30.000Z CYCLE: 0/12 localized +2026-02-09T03:53:40.000Z CYCLE: 0/12 localized +2026-02-09T03:53:50.000Z CYCLE: 0/12 localized +2026-02-09T03:54:00.000Z CYCLE: 0/12 localized +2026-02-09T03:54:10.000Z CYCLE: 0/12 localized +2026-02-09T03:54:21.000Z CYCLE: 0/12 localized +2026-02-09T03:54:31.000Z CYCLE: 0/12 localized +2026-02-09T03:54:41.000Z CYCLE: 0/12 localized +2026-02-09T03:54:51.000Z CYCLE: 0/12 localized +2026-02-09T03:55:01.000Z CYCLE: 0/12 localized +2026-02-09T03:55:18.000Z Core Orchestrator avviato. BUILD: core-orchestrator-v1.4-background-train +2026-02-09T03:55:18.000Z Avvio modalità SIMULTANEA (Collect + Train Executor + Infer)... +2026-02-09T03:55:18.000Z INFER_MODE build tag=infer-debug-v20-autoreload +2026-02-09T03:55:18.000Z Tutti i processi core (incluso Train Executor) sono attivi.2026-02-09T03:55:18.000Z 🧠 Caricamento/Aggiornamento modello: /data/model/model.joblib -2026-02-06T23:28:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:28:39.000Z TRAIN job START: 1_1600_450.csv beacons=1 -2026-02-06T23:29:09.000Z COLLECT progress: 30s/30s C3000057B9E6: total=111 gw=10/16 -2026-02-06T23:29:09.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 0_1600_450.csv -2026-02-06T23:29:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:29:09.000Z TRAIN job ERROR: pending_20260206.csv err=EmptyJob: no valid rows -2026-02-06T23:29:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:29:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:29:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:29:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:29:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:30:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:30:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:30:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:30:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:30:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:30:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:31:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:31:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:31:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:31:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:31:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:31:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:32:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:32:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:32:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:32:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:32:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:32:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:33:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:33:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:33:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:33:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:33:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:33:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:34:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:34:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:34:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:34:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:34:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:34:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:35:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:35:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:35:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:35:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:35:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:35:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:36:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:36:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:36:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:36:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:36:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:37:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:37:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:37:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:37:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:37:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:37:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:38:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:38:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:38:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:38:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:38:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:38:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:39:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:39:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:39:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:39:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:39:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:39:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:40:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:40:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:40:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:40:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:40:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:40:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:41:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:41:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:41:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:41:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:41:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:41:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:42:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:42:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:42:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:42:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:42:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:43:11.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-06T23:43:11.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-06T23:43:11.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-06T23:43:11.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-06T23:43:11.000Z MQTT thread started (collect_train) -2026-02-06T23:43:11.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-06T23:43:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-06T23:43:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:43:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:43:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:43:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:43:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:44:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:44:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:44:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:44:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:44:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:44:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:45:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:45:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:45:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:45:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:45:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:45:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:46:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:46:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:46:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:46:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:46:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:46:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:47:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:47:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:47:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:47:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:47:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:47:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:48:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:48:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:48:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:48:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:48:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:48:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:49:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:49:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:49:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:49:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:49:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:49:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:50:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:50:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:50:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:50:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:50:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:50:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:51:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:51:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:51:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:51:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:51:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:51:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:52:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:52:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:52:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:52:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:52:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:53:08.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-06T23:53:08.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-06T23:53:08.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-06T23:53:08.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-06T23:53:08.000Z MQTT thread started (collect_train) -2026-02-06T23:53:08.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-06T23:53:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-06T23:53:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:53:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:53:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:53:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:53:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:53:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:54:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:54:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:54:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:54:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:54:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:55:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:55:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:55:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:55:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:55:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:55:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:56:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:56:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:56:41.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-06T23:56:41.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-06T23:56:41.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-06T23:56:41.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-06T23:56:41.000Z MQTT thread started (collect_train) -2026-02-06T23:56:41.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0)2026-02-06T23:56:41.000Z MQTT connected rc=0, subscribed to publish_out/# +2026-02-09T03:55:18.000Z ✅ MODELLO PRONTO: 16 GW allenati. +2026-02-09T03:55:18.000Z 🏢 Piani mappati: [-1, 0, 1] +2026-02-09T03:55:18.000Z 🧪 Valore Fill (NaN): -110.0 +2026-02-09T03:55:18.000Z 📡 Primi 3 GW di riferimento: ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE'] +2026-02-09T03:55:18.000Z CYCLE: 0/12 localized +2026-02-09T03:55:18.000Z [1/16] ONLINE: ac:23:3f:c1:dd:55 +2026-02-09T03:55:18.000Z [2/16] ONLINE: ac:23:3f:c1:dd:4b +2026-02-09T03:55:18.000Z [3/16] ONLINE: ac:23:3f:c1:dd:4e +2026-02-09T03:55:18.000Z [4/16] ONLINE: ac:23:3f:c1:dc:cd +2026-02-09T03:55:18.000Z [5/16] ONLINE: ac:23:3f:c1:dd:48 +2026-02-09T03:55:18.000Z [6/16] ONLINE: ac:23:3f:c1:dc:d1 +2026-02-09T03:55:18.000Z [7/16] ONLINE: ac:23:3f:c1:dd:31 +2026-02-09T03:55:18.000Z [8/16] ONLINE: ac:23:3f:c1:dc:ee +2026-02-09T03:55:18.000Z [9/16] ONLINE: ac:23:3f:c1:dc:cb +2026-02-09T03:55:18.000Z [10/16] ONLINE: ac:23:3f:c1:dc:d2 +2026-02-09T03:55:19.000Z [11/16] ONLINE: ac:23:3f:c1:dd:40 +2026-02-09T03:55:19.000Z [12/16] ONLINE: ac:23:3f:c1:dd:51 +2026-02-09T03:55:19.000Z [13/16] ONLINE: ac:23:3f:c1:dd:3c +2026-02-09T03:55:19.000Z [14/16] ONLINE: ac:23:3f:c1:dd:49 +2026-02-09T03:55:20.000Z [15/16] ONLINE: ac:23:3f:c1:dd:50 +2026-02-09T03:55:23.000Z [16/16] ONLINE: ac:23:3f:c1:dc:d3 +2026-02-09T03:55:24.000Z Collector pronto. Monitoraggio directory Job... +2026-02-09T03:55:28.000Z CYCLE: 0/12 localized +2026-02-09T03:55:38.000Z CYCLE: 0/12 localized +2026-02-09T03:55:48.000Z CYCLE: 0/12 localized +2026-02-09T03:55:58.000Z CYCLE: 0/12 localized +2026-02-09T03:56:08.000Z CYCLE: 0/12 localized +2026-02-09T03:56:18.000Z CYCLE: 0/12 localized +2026-02-09T03:56:28.000Z CYCLE: 0/12 localized +2026-02-09T03:56:38.000Z CYCLE: 0/12 localized +2026-02-09T03:56:48.000Z CYCLE: 0/12 localized +2026-02-09T03:56:58.000Z CYCLE: 0/12 localized +2026-02-09T03:57:08.000Z CYCLE: 0/12 localized +2026-02-09T03:57:18.000Z CYCLE: 0/12 localized +2026-02-09T03:57:29.000Z CYCLE: 0/12 localized +2026-02-09T03:57:39.000Z CYCLE: 0/12 localized +2026-02-09T03:57:49.000Z CYCLE: 0/12 localized +2026-02-09T03:57:59.000Z CYCLE: 0/12 localized +2026-02-09T03:58:09.000Z CYCLE: 0/12 localized +2026-02-09T03:58:19.000Z CYCLE: 0/12 localized +2026-02-09T03:58:29.000Z CYCLE: 0/12 localized +2026-02-09T03:58:39.000Z CYCLE: 0/12 localized +2026-02-09T03:58:49.000Z CYCLE: 0/12 localized +2026-02-09T03:58:59.000Z CYCLE: 0/12 localized +2026-02-09T03:59:09.000Z CYCLE: 0/12 localized +2026-02-09T03:59:19.000Z CYCLE: 0/12 localized +2026-02-09T03:59:29.000Z CYCLE: 0/12 localized +2026-02-09T03:59:39.000Z CYCLE: 0/12 localized +2026-02-09T03:59:49.000Z CYCLE: 0/12 localized +2026-02-09T03:59:59.000Z CYCLE: 0/12 localized +2026-02-09T04:00:17.000Z Core Orchestrator avviato. BUILD: core-orchestrator-v1.4-background-train +2026-02-09T04:00:17.000Z Avvio modalità SIMULTANEA (Collect + Train Executor + Infer)... +2026-02-09T04:00:17.000Z INFER_MODE build tag=infer-debug-v20-autoreload +2026-02-09T04:00:17.000Z 🧠 Caricamento/Aggiornamento modello: /data/model/model.joblib +2026-02-09T04:00:17.000Z Tutti i processi core (incluso Train Executor) sono attivi.2026-02-09T04:00:17.000Z ✅ MODELLO PRONTO: 16 GW allenati. +2026-02-09T04:00:17.000Z 🏢 Piani mappati: [-1, 0, 1] -2026-02-06T23:56:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:56:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:57:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:57:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:57:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:57:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:57:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:57:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:58:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:58:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:58:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:58:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:58:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:58:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:59:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:59:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:59:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:59:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:59:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-06T23:59:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:00:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:00:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:00:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:00:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:00:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:00:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:01:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:01:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:01:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:01:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:01:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:01:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:02:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:02:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:02:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:02:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:02:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:02:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:03:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:03:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:03:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:03:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:03:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:03:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:04:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:04:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:04:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:04:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:04:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:04:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:05:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:05:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:05:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:05:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:05:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:05:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:06:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:06:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:06:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:06:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:06:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:06:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:07:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:07:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:07:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:07:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:07:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:07:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:08:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:08:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:08:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:08:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:08:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:08:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:09:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:09:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:09:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:09:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:09:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:09:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:10:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:10:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:10:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:10:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:10:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:10:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:11:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:11:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:11:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:11:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:11:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:11:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:12:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:12:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:12:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:12:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:12:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:12:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:13:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:13:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:13:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:13:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:13:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:13:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:14:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:14:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:14:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:14:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:14:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:14:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:15:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:15:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:15:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:15:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:15:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:15:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:16:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:16:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:16:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:16:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:16:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:16:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:17:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:17:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:17:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:17:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:17:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:17:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:18:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:18:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:18:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:18:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:18:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:18:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:19:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:19:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:19:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:19:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:19:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:19:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:20:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:20:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:20:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:20:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:20:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:20:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:21:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:21:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:21:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:21:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:21:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:21:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:22:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:22:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:22:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:22:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:22:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:22:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:23:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:23:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:23:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:23:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:23:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:23:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:24:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:24:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:24:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:24:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:24:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:24:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:25:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:25:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:25:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:25:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:25:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:25:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:26:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:26:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:26:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:26:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:26:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:26:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:27:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:27:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:27:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:27:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:27:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:27:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:28:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:28:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:28:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:28:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:28:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:28:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:29:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:29:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:29:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:29:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:29:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:29:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:30:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:30:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:30:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:30:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:30:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:30:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:31:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:31:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:31:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:31:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:31:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:31:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:32:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:32:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:32:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:32:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:32:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:32:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:33:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:33:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:33:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:33:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:33:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:33:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:34:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:34:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:34:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:34:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:34:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:34:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:35:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:35:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:35:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:35:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:35:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:35:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:36:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:36:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:36:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:36:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:36:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:36:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:37:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:37:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:37:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:37:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:37:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:37:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:38:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:38:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:38:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:38:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:38:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:38:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:39:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:39:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:39:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:39:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:39:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:39:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:40:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:40:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:40:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:40:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:40:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:40:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:41:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:41:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:41:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:41:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:41:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:41:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:42:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:42:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:42:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:42:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:42:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:42:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:43:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:43:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:43:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:43:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:43:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:43:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:44:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:44:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:44:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:44:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:44:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:44:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:45:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:45:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:45:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:45:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:45:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:45:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:46:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:46:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:46:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:46:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:46:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:46:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:47:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:47:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:47:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:47:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:47:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:47:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:48:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:48:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:48:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:48:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:48:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:48:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:49:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:49:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:49:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:49:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:49:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:49:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:50:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:50:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:50:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:50:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:50:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:50:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:51:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:51:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:51:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:51:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:51:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:51:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:52:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:52:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:52:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:52:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:52:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:52:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:53:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:53:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:53:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:53:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:53:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:53:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:54:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:54:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:54:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:54:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:54:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:54:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:55:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:55:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:55:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:55:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:55:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:55:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:56:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:56:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:56:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:56:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:56:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:56:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:57:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:57:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:57:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:57:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:57:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:57:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:58:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:58:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:58:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:58:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:58:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:58:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:59:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:59:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:59:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:59:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:59:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T00:59:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:00:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:00:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:00:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:00:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:00:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:00:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:01:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:01:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:01:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:01:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:01:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:01:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:02:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:02:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:02:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:02:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:02:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:02:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:03:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:03:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:03:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:03:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:03:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:03:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:04:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:04:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:04:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:04:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:04:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:04:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:05:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:05:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:05:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:05:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:05:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:05:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:06:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:06:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:06:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:06:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:06:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:06:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:07:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:07:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:07:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:07:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:07:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:07:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:08:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:08:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:08:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:08:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:08:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:08:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:09:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:09:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:09:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:09:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:09:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:09:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:10:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:10:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:10:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:10:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:10:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:10:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:11:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:11:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:11:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:11:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:11:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:11:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:12:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:12:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:12:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:12:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:12:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:12:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:13:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:13:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:13:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:13:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:13:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:13:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:14:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:14:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:14:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:14:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:14:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:14:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:15:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:15:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:15:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:15:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:15:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:15:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:16:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:16:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:16:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:16:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:16:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:16:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:17:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:17:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:17:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:17:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:17:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:17:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:18:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:18:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:18:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:18:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:18:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:18:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:19:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:19:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:19:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:19:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:19:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:19:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:20:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:20:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:20:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:20:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:20:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:20:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:21:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:21:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:21:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:21:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:21:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:21:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:22:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:22:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:22:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:22:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:22:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:22:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:23:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:23:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:23:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:23:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:23:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:23:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:24:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:24:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:24:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:24:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:24:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:24:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:25:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:25:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:25:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:25:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:25:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:25:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:26:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:26:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:26:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:26:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:26:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:26:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:27:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:27:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:27:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:27:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:27:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:27:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:28:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:28:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:28:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:28:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:28:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:28:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:29:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:29:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:29:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:29:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:29:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:29:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:30:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:30:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:30:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:30:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:30:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:30:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:31:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:31:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:31:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:31:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:31:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:32:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:32:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:32:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:32:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:32:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:32:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:33:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:33:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:33:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:33:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:33:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:33:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:34:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:34:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:34:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:34:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:34:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:34:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:35:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:35:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:35:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:35:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:35:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:35:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:36:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:36:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:36:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:36:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:36:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:36:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:37:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:37:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:37:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:37:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:37:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:37:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:38:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:38:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:38:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:38:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:38:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:38:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:39:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:39:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:39:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:39:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:39:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:39:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:40:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:40:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:40:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:40:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:40:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:40:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:41:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:41:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:41:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:41:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:41:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:41:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:42:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:42:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:42:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:42:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:42:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:42:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:43:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:43:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:43:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:43:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:43:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:43:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:44:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:44:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:44:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:44:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:44:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:44:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:45:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:45:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:45:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:45:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:45:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:45:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:46:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:46:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:46:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:46:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:46:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:46:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:47:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:47:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:47:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:47:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:47:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:47:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:48:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:48:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:48:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:48:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:48:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:48:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:49:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:49:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:49:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:49:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:49:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:49:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:50:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:50:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:50:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:50:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:50:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:50:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:51:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:51:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:51:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:51:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:51:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:51:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:52:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:52:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:52:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:52:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:52:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:52:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:53:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:53:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:53:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:53:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:53:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:53:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:54:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:54:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:54:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:54:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:54:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:54:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:55:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:55:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:55:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:55:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:55:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:55:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:56:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:56:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:56:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:56:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:56:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:56:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:57:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:57:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:57:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:57:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:57:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:57:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:58:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:58:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:58:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:58:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:58:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:58:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:59:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:59:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:59:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:59:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:59:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T01:59:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:00:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:00:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:00:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:00:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:00:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:00:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:01:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:01:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:01:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:01:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:01:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:01:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:02:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:02:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:02:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:02:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:02:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:02:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:03:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:03:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:03:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:03:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:03:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:03:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:04:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:04:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:04:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:04:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:04:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:04:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:05:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:05:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:05:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:05:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:05:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:05:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:06:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:06:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:06:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:06:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:06:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:06:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:07:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:07:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:07:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:07:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:07:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:07:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:08:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:08:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:08:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:08:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:08:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:08:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:09:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:09:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:09:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:09:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:09:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:09:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:10:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:10:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:10:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:10:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:10:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:10:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:11:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:11:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:11:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:11:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:11:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:11:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:12:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:12:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:12:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:12:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:12:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:12:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:13:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:13:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:13:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:13:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:13:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:13:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:14:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:14:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:14:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:14:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:14:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:14:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:15:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:15:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:15:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:15:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:15:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:15:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:16:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:16:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:16:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:16:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:16:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:16:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:17:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:17:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:17:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:17:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:17:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:17:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:18:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:18:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:18:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:18:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:18:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:18:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:19:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:19:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:19:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:19:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:19:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:19:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:20:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:20:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:20:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:20:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:20:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:20:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:21:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:21:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:21:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:21:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:21:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:21:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:22:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:22:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:22:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:22:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:22:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:22:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:23:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:23:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:23:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:23:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:23:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:23:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:24:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:24:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:24:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:24:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:24:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:24:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:25:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:25:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:25:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:25:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:25:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:25:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:26:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:26:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:26:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:26:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:26:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:26:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:27:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:27:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:27:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:27:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:27:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:27:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:28:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:28:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:28:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:28:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:28:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:28:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:29:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:29:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:29:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:29:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:29:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:29:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:30:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:30:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:30:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:30:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:30:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:30:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:31:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:31:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:31:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:31:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:31:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:31:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:32:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:32:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:32:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:32:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:32:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:32:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:33:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:33:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:33:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:33:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:33:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:33:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:34:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:34:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:34:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:34:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:34:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:34:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:35:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:35:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:35:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:35:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:35:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:35:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:36:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:36:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:36:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:36:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:36:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:36:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:37:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:37:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:37:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:37:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:37:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:37:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:38:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:38:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:38:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:38:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:38:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:38:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:39:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:39:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:39:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:39:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:39:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:39:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:40:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:40:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:40:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:40:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:40:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:40:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:41:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:41:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:41:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:41:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:41:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:41:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:42:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:42:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:42:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:42:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:42:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:42:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:43:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:43:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:43:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:43:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:43:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:43:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:44:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:44:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:44:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:44:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:44:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:44:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:45:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:45:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:45:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:45:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:45:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:45:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:46:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:46:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:46:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:46:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:46:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:46:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:47:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:47:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:47:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:47:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:47:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:47:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:48:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:48:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:48:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:48:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:48:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:48:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:49:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:49:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:49:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:49:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:49:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:49:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:50:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:50:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:50:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:50:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:50:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:50:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:51:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:51:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:51:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:51:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:51:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:51:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:52:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:52:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:52:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:52:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:52:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:52:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:53:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:53:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:53:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:53:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:53:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:53:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:54:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:54:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:54:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:54:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:54:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:54:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:55:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:55:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:55:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:55:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:55:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:55:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:56:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:56:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:56:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:56:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:56:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:56:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:57:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:57:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:57:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:57:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:57:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:57:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:58:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:58:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:58:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:58:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:58:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:58:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:59:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:59:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:59:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:59:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:59:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T02:59:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:00:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:00:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:00:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:00:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:00:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:00:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:01:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:01:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:01:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:01:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:01:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:01:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:02:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:02:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:02:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:02:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:02:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:02:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:03:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:03:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:03:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:03:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:03:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:03:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:04:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:04:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:04:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:04:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:04:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:04:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:05:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:05:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:05:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:05:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:05:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:05:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:06:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:06:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:06:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:06:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:06:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:06:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:07:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:07:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:07:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:07:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:07:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:07:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:08:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:08:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:08:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:08:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:08:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:08:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:09:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:09:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:09:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:09:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:09:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:09:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:10:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:10:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:10:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:10:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:10:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:10:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:11:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:11:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:11:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:11:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:11:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:11:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:12:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:12:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:12:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:12:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:12:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:12:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:13:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:13:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:13:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:13:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:13:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:13:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:14:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:14:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:14:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:14:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:14:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:14:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:15:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:15:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:15:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:15:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:15:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:15:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:16:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:16:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:16:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:16:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:16:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:16:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:17:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:17:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:17:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:17:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:17:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:17:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:18:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:18:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:18:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:18:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:18:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:18:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:19:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:19:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:19:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:19:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:19:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:19:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:20:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:20:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:20:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:20:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:20:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:20:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:21:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:21:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:21:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:21:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:21:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:21:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:22:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:22:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:22:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:22:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:22:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:22:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:23:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:23:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:23:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:23:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:23:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:23:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:24:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:24:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:24:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:24:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:24:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:24:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:25:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:25:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:25:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:25:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:25:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:25:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:26:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:26:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:26:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:26:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:26:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:26:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:27:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:27:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:27:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:27:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:27:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:27:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:28:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:28:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:28:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:28:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:28:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:29:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:29:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:29:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:29:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:29:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:29:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:30:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:30:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:30:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:30:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:30:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:30:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:31:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:31:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:31:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:31:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:31:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:31:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:32:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:32:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:32:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:32:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:32:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:32:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:33:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:33:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:33:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:33:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:33:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:33:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:34:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:34:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:34:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:34:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:34:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:34:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:35:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:35:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:35:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:35:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:35:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:35:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:36:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:36:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:36:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:36:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:36:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:36:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:37:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:37:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:37:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:37:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:37:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:37:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:38:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:38:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:38:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:38:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:38:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:38:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:39:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:39:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:39:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:39:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:39:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:39:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:40:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:40:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:40:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:40:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:40:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:40:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:41:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:41:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:41:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:41:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:41:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:41:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:42:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:42:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:42:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:42:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:42:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:42:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:43:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:43:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:43:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:43:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:43:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:43:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:44:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:44:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:44:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:44:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:44:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:44:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:45:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:45:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:45:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:45:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:45:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:45:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:46:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:46:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:46:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:46:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:46:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:46:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:47:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:47:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:47:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:47:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:47:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:47:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:48:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:48:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:48:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:48:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:48:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:48:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:49:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:49:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:49:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:49:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:49:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:49:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:50:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:50:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:50:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:50:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:50:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:50:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:51:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:51:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:51:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:51:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:51:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:51:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:52:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:52:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:52:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:52:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:52:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:52:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:53:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:53:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:53:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:53:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:53:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:53:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:54:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:54:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:54:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:54:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:54:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:54:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:55:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:55:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:55:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:55:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:55:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:55:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:56:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:56:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:56:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:56:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:56:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:56:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:57:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:57:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:57:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:57:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:57:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:57:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:58:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:58:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:58:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:58:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:58:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:58:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:59:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:59:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:59:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:59:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:59:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T03:59:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:00:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:00:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:00:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:00:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:00:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:00:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:01:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:01:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:01:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:01:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:01:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:01:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:02:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:02:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:02:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:02:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:02:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:02:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:03:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:03:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:03:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:03:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:03:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:03:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:04:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:04:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:04:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:04:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:04:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:04:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:05:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:05:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:05:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:05:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:05:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:05:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:06:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:06:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:06:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:06:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:06:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:06:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:07:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:07:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:07:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:07:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:07:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:07:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:08:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:08:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:08:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:08:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:08:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:08:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:09:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:09:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:09:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:09:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:09:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:09:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:10:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:10:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:10:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:10:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:10:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:10:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:11:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:11:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:11:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:11:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:11:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:11:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:12:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:12:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:12:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:12:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:12:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:12:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:13:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:13:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:13:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:13:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:13:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:13:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:14:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:14:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:14:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:14:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:14:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:14:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:15:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:15:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:15:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:15:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:15:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:15:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:16:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:16:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:16:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:16:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:16:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:16:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:17:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:17:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:17:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:17:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:17:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:17:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:18:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:18:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:18:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:18:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:18:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:18:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:19:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:19:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:19:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:19:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:19:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:19:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:20:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:20:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:20:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:20:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:20:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:20:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:21:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:21:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:21:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:21:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:21:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:21:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:22:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:22:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:22:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:22:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:22:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:22:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:23:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:23:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:23:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:23:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:23:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:23:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:24:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:24:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:24:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:24:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:24:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:24:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:25:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:25:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:25:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:25:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:25:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:25:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:26:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:26:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:26:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:26:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:26:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:26:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:27:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:27:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:27:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:27:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:27:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:27:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:28:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:28:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:28:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:28:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:28:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:28:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:29:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:29:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:29:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:29:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:29:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:29:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:30:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:30:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:30:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:30:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:30:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:30:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:31:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:31:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:31:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:31:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:31:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:31:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:32:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:32:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:32:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:32:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:32:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:32:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:33:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:33:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:33:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:33:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:33:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:33:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:34:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:34:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:34:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:34:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:34:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:34:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:35:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:35:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:35:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:35:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:35:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:35:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:36:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:36:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:36:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:36:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:36:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:36:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:37:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:37:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:37:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:37:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:37:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:37:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:38:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:38:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:38:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:38:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:38:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:38:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:39:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:39:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:39:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:39:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:39:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:39:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:40:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:40:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:40:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:40:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:40:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:40:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:41:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:41:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:41:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:41:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:41:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:41:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:42:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:42:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:42:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:42:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:42:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:42:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:43:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:43:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:43:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:43:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:43:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:43:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:44:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:44:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:44:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:44:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:44:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:44:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:45:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:45:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:45:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:45:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:45:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:45:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:46:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:46:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:46:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:46:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:46:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:46:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:47:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:47:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:47:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:47:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:47:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:47:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:48:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:48:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:48:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:48:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:48:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:48:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:49:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:49:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:49:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:49:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:49:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:49:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:50:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:50:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:50:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:50:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:50:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:50:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:51:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:51:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:51:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:51:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:51:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:51:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:52:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:52:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:52:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:52:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:52:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:52:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:53:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:53:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:53:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:53:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:53:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:53:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:54:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:54:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:54:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:54:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:54:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:54:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:55:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:55:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:55:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:55:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:55:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:55:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:56:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:56:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:56:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:56:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:56:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:56:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:57:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:57:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:57:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:57:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:57:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:57:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:58:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:58:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:58:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:58:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:58:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:58:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:59:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:59:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:59:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:59:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:59:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T04:59:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:00:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:00:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:00:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:00:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:00:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:00:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:01:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:01:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:01:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:01:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:01:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:01:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:02:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:02:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:02:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:02:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:02:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:02:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:03:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:03:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:03:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:03:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:03:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:03:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:04:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:04:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:04:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:04:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:04:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:04:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:05:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:05:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:05:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:05:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:05:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:05:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:06:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:06:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:06:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:06:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:06:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:06:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:07:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:07:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:07:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:07:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:07:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:08:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:08:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:08:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:08:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:08:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:08:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:09:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:09:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:09:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:09:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:09:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:09:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:10:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:10:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:10:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:10:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:10:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:10:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:11:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:11:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:11:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:11:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:11:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:11:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:12:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:12:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:12:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:12:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:12:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:12:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:13:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:13:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:13:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:13:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:13:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:13:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:14:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:14:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:14:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:14:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:14:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:14:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:15:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:15:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:15:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:15:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:15:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:15:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:16:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:16:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:16:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:16:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:16:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:16:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:17:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:17:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:17:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:17:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:17:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:17:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:18:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:18:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:18:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:18:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:18:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:18:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:19:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:19:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:19:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:19:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:19:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:19:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:20:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:20:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:20:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:20:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:20:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:20:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:21:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:21:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:21:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:21:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:21:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:21:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:22:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:22:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:22:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:22:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:22:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:22:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:23:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:23:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:23:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:23:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:23:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:23:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:24:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:24:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:24:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:24:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:24:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:24:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:25:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:25:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:25:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:25:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:25:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:25:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:26:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:26:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:26:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:26:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:26:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:26:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:27:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:27:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:27:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:27:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:27:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:27:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:28:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:28:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:28:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:28:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:28:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:28:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:29:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:29:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:29:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:29:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:29:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:29:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:30:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:30:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:30:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:30:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:30:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:30:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:31:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:31:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:31:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:31:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:31:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:31:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:32:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:32:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:32:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:32:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:32:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:32:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:33:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:33:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:33:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:33:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:33:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:33:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:34:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:34:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:34:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:34:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:34:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:34:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:35:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:35:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:35:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:35:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:35:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:35:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:36:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:36:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:36:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:36:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:36:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:36:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:37:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:37:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:37:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:37:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:37:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:37:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:38:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:38:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:38:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:38:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:38:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:38:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:39:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:39:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:39:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:39:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:39:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:39:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:40:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:40:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:40:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:40:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:40:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:40:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:41:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:41:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:41:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:41:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:41:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:41:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:42:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:42:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:42:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:42:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:42:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:42:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:43:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:43:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:43:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:43:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:43:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:43:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:44:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:44:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:44:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:44:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:44:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:44:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:45:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:45:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:45:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:45:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:45:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:45:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:46:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:46:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:46:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:46:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:46:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:46:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:47:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:47:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:47:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:47:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:47:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:47:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:48:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:48:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:48:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:48:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:48:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:48:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:49:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:49:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:49:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:49:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:49:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:49:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:50:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:50:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:50:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:50:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:50:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:50:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:51:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:51:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:51:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:51:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:51:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:51:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:52:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:52:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:52:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:52:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:52:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:52:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:53:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:53:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:53:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:53:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:53:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:53:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:54:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:54:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:54:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:54:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:54:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:54:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:55:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:55:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:55:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:55:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:55:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:55:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:56:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:56:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:56:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:56:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:56:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:56:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:57:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:57:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:57:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:57:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:57:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:57:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:58:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:58:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:58:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:58:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:58:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:58:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:59:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:59:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:59:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:59:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:59:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T05:59:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:00:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:00:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:00:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:00:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:00:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:00:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:01:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:01:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:01:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:01:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:01:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:01:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:02:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:02:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:02:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:02:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:02:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:02:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:03:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:03:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:03:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:03:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:03:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:03:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:04:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:04:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:04:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:04:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:04:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:04:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:05:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:05:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:05:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:05:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:05:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:05:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:06:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:06:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:06:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:06:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:06:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:06:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:07:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:07:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:07:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:07:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:07:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:07:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:08:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:08:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:08:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:08:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:08:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:08:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:09:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:09:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:09:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:09:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:09:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:09:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:10:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:10:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:10:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:10:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:10:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:10:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:11:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:11:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:11:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:11:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:11:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:11:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:12:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:12:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:12:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:12:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:12:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:12:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:13:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:13:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:13:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:13:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:13:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:13:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:14:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:14:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:14:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:14:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:14:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:14:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:15:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:15:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:15:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:15:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:15:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:15:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:16:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:16:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:16:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:16:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:16:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:16:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:17:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:17:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:17:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:17:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:17:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:17:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:18:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:18:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:18:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:18:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:18:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:18:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:19:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:19:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:19:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:19:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:19:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:19:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:20:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:20:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:20:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:20:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:20:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:20:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:21:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:21:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:21:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:21:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:21:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:21:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:22:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:22:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:22:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:22:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:22:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:22:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:23:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:23:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:23:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:23:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:23:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:23:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:24:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:24:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:24:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:24:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:24:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:24:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:25:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:25:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:25:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:25:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:25:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:25:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:26:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:26:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:26:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:26:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:26:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:26:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:27:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:27:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:27:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:27:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:27:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:27:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:28:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:28:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:28:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:28:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:28:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:28:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:29:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:29:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:29:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:29:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:29:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:29:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:30:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:30:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:30:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:30:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:30:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:30:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:31:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:31:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:31:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:31:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:31:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:31:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:32:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:32:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:32:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:32:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:32:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:32:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:33:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:33:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:33:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:33:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:33:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:33:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:34:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:34:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:34:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:34:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:34:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:34:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:35:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:35:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:35:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:35:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:35:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:35:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:36:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:36:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:36:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:36:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:36:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:36:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:37:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:37:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:37:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:37:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:37:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:37:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:38:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:38:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:38:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:38:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:38:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:38:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:39:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:39:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:39:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:39:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:39:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:39:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:40:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:40:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:40:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:40:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:40:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:40:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:41:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:41:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:41:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:41:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:41:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:41:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:42:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:42:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:42:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:42:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:42:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:42:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:43:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:43:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:43:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:43:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:43:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:43:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:44:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:44:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:44:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:44:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:44:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:44:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:45:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:45:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:45:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:45:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:45:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:45:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:46:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:46:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:46:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:46:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:46:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:46:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:47:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:47:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:47:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:47:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:47:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:47:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:48:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:48:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:48:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:48:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:48:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:48:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:49:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:49:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:49:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:49:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:49:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:49:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:50:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:50:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:50:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:50:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:50:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:50:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:51:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:51:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:51:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:51:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:51:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:51:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:52:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:52:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:52:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:52:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:52:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:52:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:53:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:53:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:53:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:53:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:53:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:53:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:54:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:54:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:54:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:54:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:54:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:55:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:55:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:55:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:55:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:55:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:55:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:56:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:56:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:56:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:56:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:56:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:56:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:57:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:57:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:57:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:57:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:57:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:57:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:58:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:58:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:58:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:58:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:58:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:58:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:59:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:59:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:59:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:59:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:59:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T06:59:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:00:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:00:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:00:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:00:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:00:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:00:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:01:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:01:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:01:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:01:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:01:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:01:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:02:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:02:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:02:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:02:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:02:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:02:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:03:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:03:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:03:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:03:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:03:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:03:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:04:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:04:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:04:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:04:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:04:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:04:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:05:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:05:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:05:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:05:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:05:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:05:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:06:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:06:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:06:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:06:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:06:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:06:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:07:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:07:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:07:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:07:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:07:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:07:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:08:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:08:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:08:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:08:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:08:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:08:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:09:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:09:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:09:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:09:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:09:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:09:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:10:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:10:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:10:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:10:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:10:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:10:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:11:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:11:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:11:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:11:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:11:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:11:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:12:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:12:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:12:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:12:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:12:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:12:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:13:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:13:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:13:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:13:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:13:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:13:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:14:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:14:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:14:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:14:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:14:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:14:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:15:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:15:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:15:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:15:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:15:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:15:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:16:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:16:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:16:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:16:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:16:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:16:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:17:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:17:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:17:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:17:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:17:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:17:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:18:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:18:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:18:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:18:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:18:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:18:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:19:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:19:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:19:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:19:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:19:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:19:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:20:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:20:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:20:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:20:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:20:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:20:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:21:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:21:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:21:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:21:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:21:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:21:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:22:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:22:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:22:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:22:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:22:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:22:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:23:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:23:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:23:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:23:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:23:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:23:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:24:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:24:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:24:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:24:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:24:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:24:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:25:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:25:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:25:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:25:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:25:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:25:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:26:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:26:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:26:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:26:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:26:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:26:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:27:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:27:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:27:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:27:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:27:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:27:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:28:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:28:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:28:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:28:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:28:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:28:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:29:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:29:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:29:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:29:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:29:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:29:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:30:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:30:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:30:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:30:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:30:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:30:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:31:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:31:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:31:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:31:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:31:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:31:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:32:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:32:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:32:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:32:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:32:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:32:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:33:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:33:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:33:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:33:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:33:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:33:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:34:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:34:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:34:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:34:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:34:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:34:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:35:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:35:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:35:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:35:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:35:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:35:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:36:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:36:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:36:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:36:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:36:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:36:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:37:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:37:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:37:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:37:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:37:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:37:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:38:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:38:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:38:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:38:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:38:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:38:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:39:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:39:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:39:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:39:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:39:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:39:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:40:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:40:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:40:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:40:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:40:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:40:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:41:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:41:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:41:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:41:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:41:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:41:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:42:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:42:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:42:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:42:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:42:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:42:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:43:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:43:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:43:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:43:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:43:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:43:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:44:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:44:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:44:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:44:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:44:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:44:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:45:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:45:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:45:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:45:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:45:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:45:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:46:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:46:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:46:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:46:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:46:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:46:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:47:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:47:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:47:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:47:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:47:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:47:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:48:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:48:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:48:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:48:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:48:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:48:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:49:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:49:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:49:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:49:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:49:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:49:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:50:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:50:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:50:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:50:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:50:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:50:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:51:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:51:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:51:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:51:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:51:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:51:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:52:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:52:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:52:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:52:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:52:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:52:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:53:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:53:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:53:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:53:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:53:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:53:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:54:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:54:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:54:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:54:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:54:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:54:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:55:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:55:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:55:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:55:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:55:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:55:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:56:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:56:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:56:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:56:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:56:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:56:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:57:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:57:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:57:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:57:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:57:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:57:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:58:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:58:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:58:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:58:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:58:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:58:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:59:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:59:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:59:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:59:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:59:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T07:59:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:00:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:00:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:00:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:00:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:00:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:00:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:01:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:01:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:01:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:01:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:01:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:01:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:02:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:02:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:02:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:02:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:02:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:02:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:03:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:03:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:03:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:03:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:03:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:03:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:04:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:04:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:04:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:04:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:04:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:04:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:05:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:05:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:05:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:05:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:05:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:05:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:06:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:06:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:06:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:06:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:06:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:06:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:07:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:07:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:07:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:07:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:07:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:07:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:08:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:08:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:08:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:08:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:08:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:08:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:09:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:09:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:09:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:09:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:09:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:09:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:10:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:10:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:10:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:10:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:10:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:10:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:11:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:11:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:11:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:11:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:11:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:11:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:12:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:12:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:12:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:12:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:12:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:12:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:13:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:13:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:13:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:13:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:13:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:13:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:14:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:14:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:14:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:14:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:14:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:14:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:15:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:15:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:15:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:15:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:15:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:15:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:16:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:16:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:16:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:16:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:16:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:16:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:17:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:17:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:17:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:17:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:17:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:17:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:18:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:18:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:18:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:18:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:18:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:18:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:19:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:19:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:19:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:19:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:19:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:19:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:20:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:20:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:20:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:20:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:20:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:20:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:21:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:21:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:21:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:21:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:21:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:21:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:22:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:22:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:22:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:22:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:22:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:22:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:23:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:23:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:23:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:23:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:23:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:23:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:24:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:24:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:24:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:24:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:24:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:24:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:25:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:25:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:25:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:25:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:25:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:25:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:26:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:26:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:26:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:26:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:26:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:26:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:27:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:27:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:27:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:27:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:27:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:27:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:28:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:28:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:28:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:28:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:28:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:28:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:29:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:29:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:29:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:29:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:29:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:29:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:30:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:30:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:30:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:30:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:30:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:30:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:31:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:31:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:31:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:31:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:31:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:31:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:32:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:32:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:32:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:32:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:32:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:32:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:33:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:33:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:33:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:33:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:33:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:33:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:34:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:34:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:34:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:34:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:34:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:34:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:35:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:35:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:35:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:35:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:35:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:35:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:36:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:36:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:36:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:36:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:36:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:36:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:37:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:37:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:37:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:37:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:37:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:37:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:38:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:38:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:38:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:38:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:38:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:38:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:39:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:39:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:39:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:39:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:39:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:39:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:40:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:40:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:40:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:40:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:40:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:40:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:41:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:41:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:41:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:41:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:41:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:41:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:42:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:42:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:42:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:42:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:42:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:42:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:43:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:43:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:43:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:43:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:43:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:43:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:44:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:44:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:44:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:44:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:44:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:44:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:45:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:45:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:45:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:45:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:45:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:45:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:46:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:46:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:46:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:46:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:46:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:46:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:47:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:47:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:47:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:47:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:47:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:47:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:48:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:48:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:48:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:48:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:48:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:48:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:49:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:49:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:49:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:49:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:49:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:49:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:50:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:50:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:50:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:50:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:50:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:50:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:51:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:51:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:51:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:51:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:51:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:51:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:52:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:52:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:52:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:52:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:52:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:52:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:53:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:53:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:53:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:53:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:53:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:54:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:54:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:54:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:54:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:54:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:54:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:55:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:55:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:55:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:55:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:55:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:55:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:56:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:56:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:56:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:56:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:56:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:56:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:57:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:57:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:57:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:57:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:57:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:57:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:58:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:58:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:58:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:58:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:58:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:58:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:59:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:59:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:59:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:59:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:59:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T08:59:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:00:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:00:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:00:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:00:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:00:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:00:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:01:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:01:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:01:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:01:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:01:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:01:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:02:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:02:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:02:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:02:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:02:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:02:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:03:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:03:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:03:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:03:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:03:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:03:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:04:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:04:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:04:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:04:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:04:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:04:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:05:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:05:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:05:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:05:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:05:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:05:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:06:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:06:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:06:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:06:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:06:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:06:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:07:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:07:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:07:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:07:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:07:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:07:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:08:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:08:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:08:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:08:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:08:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:08:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:09:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:09:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:09:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:09:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:09:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:09:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:10:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:10:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:10:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:10:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:10:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:10:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:11:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:11:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:11:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:11:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:11:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:11:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:12:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:12:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:12:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:12:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:12:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:12:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:13:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:13:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:13:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:13:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:13:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:13:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:14:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:14:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:14:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:14:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:14:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:14:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:15:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:15:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:15:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:15:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:15:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:15:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:16:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:16:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:16:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:16:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:16:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:16:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:17:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:17:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:17:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:17:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:17:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:17:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:18:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:18:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:18:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:18:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:18:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:18:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:19:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:19:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:19:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:19:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:19:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:19:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:20:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:20:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:20:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:20:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:20:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:20:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:21:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:21:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:21:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:21:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:21:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:21:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:22:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:22:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:22:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:22:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:22:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:22:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:23:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:23:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:23:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:23:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:23:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:23:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:24:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:24:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:24:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:24:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:24:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:24:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:25:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:25:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:25:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:25:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:25:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:25:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:26:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:26:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:26:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:26:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:26:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:26:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:27:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:27:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:27:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:27:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:27:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:27:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:28:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:28:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:28:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:28:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:28:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:28:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:29:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:29:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:29:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:29:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:29:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:29:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:30:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:30:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:30:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:30:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:30:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:30:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:31:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:31:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:31:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:31:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:31:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:31:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:32:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:32:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:32:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:32:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:32:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:32:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:33:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:33:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:33:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:33:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:33:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:33:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:34:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:34:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:34:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:34:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:34:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:34:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:35:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:35:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:35:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:35:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:35:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:35:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:36:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:36:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:36:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:36:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:36:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:36:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:37:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:37:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:37:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:37:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:37:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:37:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:38:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:38:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:38:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:38:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:38:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:38:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:39:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:39:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:39:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:39:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:39:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:39:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:40:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:40:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:40:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:40:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:40:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:40:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:41:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:41:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:41:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:41:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:41:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:41:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:42:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:42:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:42:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:42:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:42:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:42:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:43:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:43:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:43:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:43:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:43:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:43:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:44:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:44:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:44:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:44:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:44:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:44:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:45:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:45:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:45:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:45:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:45:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:45:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:46:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:46:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:46:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:46:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:46:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:46:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:47:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:47:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:47:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:47:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:47:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:47:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:48:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:48:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:48:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:48:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:48:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:48:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:49:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:49:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:49:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:49:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:49:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:49:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:50:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:50:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:50:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:50:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:50:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:50:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:51:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:51:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:51:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:51:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:51:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:51:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:52:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:52:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:52:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:52:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:52:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:52:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:53:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:53:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:53:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:53:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:53:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:53:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:54:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:54:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:54:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:54:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:54:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:54:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:55:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:55:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:55:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:55:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:55:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:55:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:56:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:56:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:56:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:56:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:56:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:56:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:57:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:57:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:57:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:57:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:57:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:57:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:58:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:58:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:58:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:58:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:58:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:58:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:59:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:59:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:59:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:59:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:59:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T09:59:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:00:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:00:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:00:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:00:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:00:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:00:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:01:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:01:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:01:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:01:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:01:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:01:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:02:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:02:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:02:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:02:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:02:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:02:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:03:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:03:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:03:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:03:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:03:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:03:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:04:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:04:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:04:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:04:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:04:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:04:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:05:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:05:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:05:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:05:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:05:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:05:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:06:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:06:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:06:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:06:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:06:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:06:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:07:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:07:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:07:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:07:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:07:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:07:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:08:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:08:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:08:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:08:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:08:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:08:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:09:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:09:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:09:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:09:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:09:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:09:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:10:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:10:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:10:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:10:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:10:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:10:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:11:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:11:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:11:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:11:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:11:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:11:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:12:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:12:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:12:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:12:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:12:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:12:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:13:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:13:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:13:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:13:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:13:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:13:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:14:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:14:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:14:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:14:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:14:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:14:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:15:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:15:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:15:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:15:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:15:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:15:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:16:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:16:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:16:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:16:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:16:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:16:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:17:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:17:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:17:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:17:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:17:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:17:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:18:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:18:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:18:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:18:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:18:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:18:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:19:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:19:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:19:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:19:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:19:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:19:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:20:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:20:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:20:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:20:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:20:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:20:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:21:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:21:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:21:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:21:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:21:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:21:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:22:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:22:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:22:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:22:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:22:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:22:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:23:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:23:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:23:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:23:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:23:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:23:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:24:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:24:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:24:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:24:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:24:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:24:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:25:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:25:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:25:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:25:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:25:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:25:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:26:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:26:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:26:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:26:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:26:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:26:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:27:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:27:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:27:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:27:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:27:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:27:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:28:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:28:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:28:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:28:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:28:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:28:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:29:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:29:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:29:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:29:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:29:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:29:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:30:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:30:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:30:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:30:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:30:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:30:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:31:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:31:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:31:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:31:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:31:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:31:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:32:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:32:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:32:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:32:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:32:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:32:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:33:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:33:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:33:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:33:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:33:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:33:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:34:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:34:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:34:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:34:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:34:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:34:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:35:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:35:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:35:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:35:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:35:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:35:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:36:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:36:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:36:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:36:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:36:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:36:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:37:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:37:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:37:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:37:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:37:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:37:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:38:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:38:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:38:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:38:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:38:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:38:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:39:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:39:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:39:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:39:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:39:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:39:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:40:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:40:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:40:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:40:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:40:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:40:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:41:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:41:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:41:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:41:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:41:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:41:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:42:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:42:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:42:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:42:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:42:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:42:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:43:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:43:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:43:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:43:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:43:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:43:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:44:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:44:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:44:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:44:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:44:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:45:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:45:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:45:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:45:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:45:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:45:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:46:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:46:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:46:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:46:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:46:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:46:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:47:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:47:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:47:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:47:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:47:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:47:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:48:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:48:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:48:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:48:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:48:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:48:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:49:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:49:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:49:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:49:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:49:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:49:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:50:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:50:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:50:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:50:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:50:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:50:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:51:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:51:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:51:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:51:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:51:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:51:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:52:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:52:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:52:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:52:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:52:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:52:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:53:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:53:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:53:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:53:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:53:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:53:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:54:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:54:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:54:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:54:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:54:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:54:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:55:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:55:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:55:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:55:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:55:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:55:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:56:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:56:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:56:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:56:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:56:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:56:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:57:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:57:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:57:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:57:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:57:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:57:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:58:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:58:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:58:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:58:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:58:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:58:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:59:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:59:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:59:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:59:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:59:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T10:59:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:00:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:00:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:00:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:00:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:00:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:00:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:01:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:01:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:01:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:01:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:01:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:01:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:02:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:02:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:02:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:02:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:02:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:02:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:03:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:03:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:03:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:03:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:03:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:03:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:04:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:04:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:04:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:04:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:04:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:04:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:05:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:05:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:05:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:05:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:05:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:05:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:06:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:06:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:06:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:06:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:06:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:06:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:07:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:07:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:07:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:07:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:07:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:07:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:08:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:08:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:08:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:08:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:08:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:08:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:09:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:09:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:09:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:09:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:09:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:09:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:10:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:10:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:10:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:10:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:10:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:10:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:11:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:11:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:11:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:11:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:11:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:11:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:12:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:12:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:12:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:12:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:12:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:12:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:13:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:13:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:13:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:13:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:13:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:13:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:14:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:14:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:14:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:14:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:14:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:14:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:15:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:15:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:15:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:15:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:15:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:15:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:16:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:16:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:16:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:16:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:16:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:16:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:17:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:17:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:17:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:17:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:17:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:17:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:18:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:18:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:18:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:18:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:18:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:18:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:19:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:19:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:19:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:19:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:19:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:19:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:20:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:20:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:20:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:20:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:20:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:20:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:21:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:21:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:21:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:21:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:21:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:21:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:22:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:22:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:22:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:22:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:22:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:22:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:23:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:23:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:23:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:23:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:23:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:23:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:24:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:24:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:24:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:24:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:24:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:24:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:25:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:25:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:25:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:25:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:25:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:25:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:26:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:26:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:26:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:26:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:26:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:26:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:27:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:27:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:27:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:27:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:27:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:27:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:28:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:28:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:28:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:28:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:28:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:28:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:29:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:29:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:29:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:29:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:29:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:29:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:30:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:30:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:30:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:30:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:30:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:30:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:31:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:31:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:31:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:31:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:31:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:31:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:32:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:32:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:32:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:32:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:32:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:32:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:33:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:33:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:33:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:33:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:33:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:33:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:34:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:34:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:34:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:34:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:34:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:34:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:35:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:35:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:35:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:35:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:35:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:35:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:36:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:36:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:36:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:36:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:36:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:36:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:37:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:37:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:37:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:37:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:37:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:37:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:38:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:38:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:38:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:38:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:38:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:38:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:39:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:39:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:39:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:39:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:39:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:39:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:40:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:40:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:40:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:40:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:40:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:40:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:41:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:41:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:41:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:41:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:41:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:41:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:42:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:42:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:42:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:42:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:42:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:42:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:43:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:43:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:43:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:43:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:43:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:43:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:44:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:44:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:44:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:44:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:44:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:44:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:45:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:45:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:45:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:45:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:45:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:45:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:46:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:46:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:46:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:46:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:46:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:46:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:47:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:47:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:47:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:47:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:47:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:47:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:48:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:48:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:48:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:48:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:48:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:48:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:49:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:49:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:49:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:49:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:49:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:49:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:50:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:50:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:50:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:50:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:50:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:50:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:51:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:51:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:51:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:51:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:51:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:51:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:52:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:52:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:52:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:52:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:52:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:52:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:53:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:53:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:53:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:53:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:53:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:53:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:54:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:54:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:54:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:54:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:54:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:54:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:55:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:55:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:55:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:55:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:55:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:55:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:56:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:56:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:56:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:56:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:56:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:56:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:57:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:57:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:57:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:57:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:57:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:57:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:58:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:58:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:58:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:58:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:58:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:58:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:59:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:59:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:59:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:59:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:59:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T11:59:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:00:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:00:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:00:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:00:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:00:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:00:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:01:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:01:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:01:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:01:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:01:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:01:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:02:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:02:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:02:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:02:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:02:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:02:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:03:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:03:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:03:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:03:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:03:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:03:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:04:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:04:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:04:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:04:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:04:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:04:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:05:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:05:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:05:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:05:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:05:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:05:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:06:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:06:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:06:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:06:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:06:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:06:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:07:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:07:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:07:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:07:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:07:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:07:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:08:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:08:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:08:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:08:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:08:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:08:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:09:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:09:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:09:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:09:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:09:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:09:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:10:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:10:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:10:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:10:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:10:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:10:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:11:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:11:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:11:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:11:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:11:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:11:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:12:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:12:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:12:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:12:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:12:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:12:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:13:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:13:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:13:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:13:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:13:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:13:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:14:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:14:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:14:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:14:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:14:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:14:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:15:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:15:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:15:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:15:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:15:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:15:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:16:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:16:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:16:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:16:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:16:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:16:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:17:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:17:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:17:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:17:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:17:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:17:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:18:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:18:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:18:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:18:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:18:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:18:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:19:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:19:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:19:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:19:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:19:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:19:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:20:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:20:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:20:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:20:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:20:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:20:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:21:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:21:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:21:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:21:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:21:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:21:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:22:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:22:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:22:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:22:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:22:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:22:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:23:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:23:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:23:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:23:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:23:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:23:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:24:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:24:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:24:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:24:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:24:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:24:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:25:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:25:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:25:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:25:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:25:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:25:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:26:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:26:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:26:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:26:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:26:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:26:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:27:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:27:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:27:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:27:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:27:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:27:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:28:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:28:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:28:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:28:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:28:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:28:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:29:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:29:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:29:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:29:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:29:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:29:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:30:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:30:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:30:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:30:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:30:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:30:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:31:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:31:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:31:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:31:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:31:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:31:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:32:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:32:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:32:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:32:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:32:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:32:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:33:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:33:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:33:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:33:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:33:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:33:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:34:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:34:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:34:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:34:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:34:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:34:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:35:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:35:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:35:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:35:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:35:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:35:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:36:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:36:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:36:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:36:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:36:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:36:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:37:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:37:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:37:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:37:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:37:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:37:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:38:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:38:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:38:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:38:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:38:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:38:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:39:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:39:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:39:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:39:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:39:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:39:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:40:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:40:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:40:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:40:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:40:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:40:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:41:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:41:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:41:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:41:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:41:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:41:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:42:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:42:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:42:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:42:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:42:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:42:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:43:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:43:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:43:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:43:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:43:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:43:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:44:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:44:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:44:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:44:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:44:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:44:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:45:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:45:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:45:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:45:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:45:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:45:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:46:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:46:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:46:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:46:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:46:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:46:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:47:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:47:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:47:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:47:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:47:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:47:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:48:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:48:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:48:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:48:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:48:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:48:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:49:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:49:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:49:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:49:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:49:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:49:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:50:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:50:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:50:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:50:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:50:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:50:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:51:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:51:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:51:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:51:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:51:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:51:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:52:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:52:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:52:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:52:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:52:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:52:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:53:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:53:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:53:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:53:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:53:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:54:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:54:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:54:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:54:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:54:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:54:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:55:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:55:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:55:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:55:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:55:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:55:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:56:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:56:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:56:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:56:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:56:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:56:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:57:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:57:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:57:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:57:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:57:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:57:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:58:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:58:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:58:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:58:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:58:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:58:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:59:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:59:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:59:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:59:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:59:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T12:59:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:00:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:00:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:00:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:00:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:00:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:00:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:01:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:01:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:01:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:01:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:01:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:01:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:02:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:02:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:02:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:02:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:02:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:02:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:03:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:03:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:03:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:03:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:03:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:03:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:04:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:04:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:04:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:04:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:04:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:04:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:05:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:05:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:05:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:05:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:05:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:05:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:06:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:06:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:06:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:06:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:06:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:06:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:07:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:07:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:07:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:07:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:07:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:07:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:08:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:08:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:08:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:08:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:08:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:08:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:09:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:09:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:09:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:09:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:09:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:09:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:10:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:10:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:10:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:10:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:10:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:10:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:11:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:11:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:11:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:11:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:11:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:11:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:12:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:12:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:12:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:12:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:12:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:12:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:13:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:13:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:13:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:13:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:13:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:13:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:14:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:14:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:14:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:14:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:14:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:14:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:15:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:15:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:15:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:15:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:15:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:15:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:16:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:16:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:16:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:16:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:16:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:16:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:17:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:17:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:17:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:17:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:17:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:17:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:18:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:18:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:18:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:18:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:18:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:18:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:19:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:19:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:19:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:19:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:19:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:19:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:20:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:20:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:20:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:20:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:20:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:20:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:21:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:21:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:21:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:21:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:21:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:21:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:22:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:22:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:22:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:22:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:22:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:22:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:23:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:23:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:23:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:23:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:23:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:23:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:24:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:24:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:24:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:24:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:24:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:24:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:25:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:25:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:25:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:25:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:25:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:25:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:26:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:26:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:26:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:26:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:26:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:26:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:27:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:27:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:27:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:27:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:27:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:27:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:28:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:28:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:28:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:28:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:28:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:28:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:29:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:29:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:29:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:29:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:29:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:29:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:30:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:30:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:30:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:30:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:30:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:30:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:31:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:31:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:31:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:31:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:31:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:31:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:32:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:32:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:32:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:32:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:32:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:32:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:33:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:33:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:33:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:33:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:33:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:33:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:34:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:34:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:34:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:34:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:34:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:34:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:35:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:35:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:35:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:35:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:35:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:35:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:36:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:36:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:36:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:36:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:36:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:36:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:37:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:37:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:37:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:37:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:37:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:37:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:38:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:38:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:38:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:38:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:38:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:38:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:39:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:39:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:39:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:39:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:39:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:39:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:40:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:40:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:40:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:40:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:40:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:40:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:41:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:41:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:41:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:41:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:41:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:41:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:42:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:42:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:42:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:42:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:42:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:42:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:43:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:43:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:43:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:43:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:43:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:43:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:44:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:44:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:44:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:44:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:44:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:44:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:45:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:45:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:45:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:45:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:45:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:45:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:46:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:46:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:46:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:46:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:46:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:46:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:47:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:47:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:47:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:47:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:47:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:47:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:48:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:48:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:48:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:48:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:48:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:48:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:49:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:49:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:49:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:49:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:49:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:49:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:50:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:50:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:50:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:50:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:50:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:50:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:51:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:51:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:51:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:51:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:51:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:51:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:52:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:52:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:52:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:52:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:52:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:52:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:53:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:53:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:53:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:53:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:53:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:53:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:54:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:54:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:54:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:54:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:54:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:54:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:55:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:55:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:55:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:55:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:55:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:55:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:56:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:56:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:56:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:56:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:56:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:56:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:57:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:57:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:57:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:57:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:57:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:57:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:58:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:58:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:58:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:58:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:58:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:58:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:59:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:59:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:59:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:59:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:59:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T13:59:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:00:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:00:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:00:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:00:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:00:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:00:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:01:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:01:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:01:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:01:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:01:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:01:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:02:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:02:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:02:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:02:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:02:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:02:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:03:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:03:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:03:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:03:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:03:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:03:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:04:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:04:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:04:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:04:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:04:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:04:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:05:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:05:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:05:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:05:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:05:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:05:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:06:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:06:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:06:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:06:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:06:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:06:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:07:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:07:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:07:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:07:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:07:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:07:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:08:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:08:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:08:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:08:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:08:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:08:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:09:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:09:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:09:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:09:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:09:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:09:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:10:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:10:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:10:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:10:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:10:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:10:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:11:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:11:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:11:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:11:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:11:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:11:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:12:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:12:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:12:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:12:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:12:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:12:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:13:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:13:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:13:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:13:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:13:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:13:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:14:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:14:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:14:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:14:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:14:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:14:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:15:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:15:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:15:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:15:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:15:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:15:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:16:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:16:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:16:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:16:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:16:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:16:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:17:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:17:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:17:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:17:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:17:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:17:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:18:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:18:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:18:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:18:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:18:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:18:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:19:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:19:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:19:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:19:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:19:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:19:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:20:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:20:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:20:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:20:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:20:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:20:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:21:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:21:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:21:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:21:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:21:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:21:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:22:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:22:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:22:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:22:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:22:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:22:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:23:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:23:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:23:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:23:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:23:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:23:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:24:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:24:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:24:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:24:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:24:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:24:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:25:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:25:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:25:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:25:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:25:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:25:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:26:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:26:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:26:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:26:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:26:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:26:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:27:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:27:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:27:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:27:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:27:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:27:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:28:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:28:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:28:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:28:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:28:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:28:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:29:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:29:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:29:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:29:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:29:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:29:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:30:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:30:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:30:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:30:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:30:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:30:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:31:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:31:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:31:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:31:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:31:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:31:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:32:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:32:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:32:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:32:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:32:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:32:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:33:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:33:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:33:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:33:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:33:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:33:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:34:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:34:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:34:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:34:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:34:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:34:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:35:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:35:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:35:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:35:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:35:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:35:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:36:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:36:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:36:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:36:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:36:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:36:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:37:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:37:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:37:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:37:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:37:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:37:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:38:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:38:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:38:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:38:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:38:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:38:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:39:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:39:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:39:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:39:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:39:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:39:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:40:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:40:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:40:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:40:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:40:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:40:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:41:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:41:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:41:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:41:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:41:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:41:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:42:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:42:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:42:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:42:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:42:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:42:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:43:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:43:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:43:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:43:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:43:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:43:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:44:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:44:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:44:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:44:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:44:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:44:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:45:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:45:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:45:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:45:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:45:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:45:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:46:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:46:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:46:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:46:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:46:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:46:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:47:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:47:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:47:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:47:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:47:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:47:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:48:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:48:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:48:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:48:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:48:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:48:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:49:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:49:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:49:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:49:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:49:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:49:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:50:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:50:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:50:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:50:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:50:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:50:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:51:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:51:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:51:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:51:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:51:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:51:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:52:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:52:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:52:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:52:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:52:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:52:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:53:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:53:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:53:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:53:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:53:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:54:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:54:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:54:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:54:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:54:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:54:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:55:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:55:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:55:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:55:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:55:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:55:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:56:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:56:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:56:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:56:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:56:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:56:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:57:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:57:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:57:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:57:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:57:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:57:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:58:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:58:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:58:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:58:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:58:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:58:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:59:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:59:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:59:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:59:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:59:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T14:59:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:00:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:00:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:00:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:00:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:00:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:00:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:01:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:01:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:01:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:01:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:01:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:01:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:02:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:02:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:02:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:02:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:02:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:02:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:03:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:03:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:03:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:03:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:03:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:03:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:04:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:04:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:04:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:04:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:04:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:04:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:05:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:05:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:05:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:05:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:05:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:05:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:06:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:06:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:06:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:06:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:06:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:06:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:07:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:07:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:07:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:07:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:07:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:07:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:08:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:08:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:08:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:08:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:08:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:08:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:09:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:09:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:09:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:09:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:09:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:09:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:10:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:10:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:10:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:10:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:10:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:10:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:11:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:11:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:11:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:11:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:11:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:11:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:12:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:12:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:12:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:12:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:12:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:12:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:13:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:13:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:13:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:13:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:13:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:13:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:14:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:14:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:14:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:14:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:14:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:14:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:15:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:15:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:15:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:15:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:15:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:15:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:16:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:16:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:16:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:16:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:16:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:16:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:17:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:17:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:17:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:17:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:17:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:17:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:18:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:18:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:18:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:18:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:18:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:18:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:19:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:19:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:19:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:19:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:19:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:19:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:20:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:20:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:20:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:20:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:20:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:20:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:21:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:21:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:21:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:21:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:21:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:21:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:22:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:22:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:22:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:22:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:22:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:22:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:23:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:23:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:23:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:23:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:23:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:23:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:24:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:24:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:24:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:24:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:24:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:24:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:25:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:25:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:25:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:25:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:25:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:25:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:26:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:26:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:26:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:26:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:26:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:26:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:27:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:27:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:27:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:27:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:27:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:27:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:28:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:28:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:28:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:28:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:28:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:28:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:29:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:29:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:29:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:29:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:29:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:29:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:30:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:30:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:30:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:30:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:30:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:30:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:31:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:31:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:31:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:31:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:31:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:31:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:32:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:32:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:32:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:32:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:32:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:32:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:33:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:33:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:33:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:33:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:33:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:33:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:34:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:34:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:34:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:34:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:34:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:34:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:35:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:35:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:35:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:35:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:35:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:35:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:36:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:36:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:36:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:36:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:36:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:36:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:37:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:37:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:37:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:37:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:37:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:37:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:38:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:38:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:38:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:38:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:38:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:38:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:39:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:39:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:39:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:39:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:39:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:39:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:40:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:40:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:40:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:40:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:40:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:40:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:41:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:41:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:41:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:41:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:41:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:41:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:42:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:42:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:42:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:42:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:42:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:42:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:43:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:43:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:43:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:43:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:43:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:43:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:44:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:44:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:44:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:44:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:44:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:44:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:45:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:45:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:45:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:45:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:45:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:45:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:46:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:46:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:46:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:46:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:46:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:46:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:47:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:47:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:47:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:47:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:47:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:47:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:48:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:48:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:48:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:48:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:48:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:48:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:49:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:49:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:49:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:49:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:49:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:49:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:50:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:50:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:50:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:50:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:50:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:50:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:51:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:51:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:51:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:51:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:51:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:51:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:52:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:52:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:52:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:52:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:52:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:52:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:53:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:53:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:53:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:53:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:53:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:53:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:54:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:54:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:54:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:54:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:54:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:54:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:55:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:55:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:55:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:55:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:55:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:55:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:56:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:56:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:56:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:56:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:56:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:56:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:57:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:57:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:57:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:57:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:57:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:57:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:58:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:58:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:58:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:58:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:58:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:58:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:59:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:59:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:59:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:59:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:59:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T15:59:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:00:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:00:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:00:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:00:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:00:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:00:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:01:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:01:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:01:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:01:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:01:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:01:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:02:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:02:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:02:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:02:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:02:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:02:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:03:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:03:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:03:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:03:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:03:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:03:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:04:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:04:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:04:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:04:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:04:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:04:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:05:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:05:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:05:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:05:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:05:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:05:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:06:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:06:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:06:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:06:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:06:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:06:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:07:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:07:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:07:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:07:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:07:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:07:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:08:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:08:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:08:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:08:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:08:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:08:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:09:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:09:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:09:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:09:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:09:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:09:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:10:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:10:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:10:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:10:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:10:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:10:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:11:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:11:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:11:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:11:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:11:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:11:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:12:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:12:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:12:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:12:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:12:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:12:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:13:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:13:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:13:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:13:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:13:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:13:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:14:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:14:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:14:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:14:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:14:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:14:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:15:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:15:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:15:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:15:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:15:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:15:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:16:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:16:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:16:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:16:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:16:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:16:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:17:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:17:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:17:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:17:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:17:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:17:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:18:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:18:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:18:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:18:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:18:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:18:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:19:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:19:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:19:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:19:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:19:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:19:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:20:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:20:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:20:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:20:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:20:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:20:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:21:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:21:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:21:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:21:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:21:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:21:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:22:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:22:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:22:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:22:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:22:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:22:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:23:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:23:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:23:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:23:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:23:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:23:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:24:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:24:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:24:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:24:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:24:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:24:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:25:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:25:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:25:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:25:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:25:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:25:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:26:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:26:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:26:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:26:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:26:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:26:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:27:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:27:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:27:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:27:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:27:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:27:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:28:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:28:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:28:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:28:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:28:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:28:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:29:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:29:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:29:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:29:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:29:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:29:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:30:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:30:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:30:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:30:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:30:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:30:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:31:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:31:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:31:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:31:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:31:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:31:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:32:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:32:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:32:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:32:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:32:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:32:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:33:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:33:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:33:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:33:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:33:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:33:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:34:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:34:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:34:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:34:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:34:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:34:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:35:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:35:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:35:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:35:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:35:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:35:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:36:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:36:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:36:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:36:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:36:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:36:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:37:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:37:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:37:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:37:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:37:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:37:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:38:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:38:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:38:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:38:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:38:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:38:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:39:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:39:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:39:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:39:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:39:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:39:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:40:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:40:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:40:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:40:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:40:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:40:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:41:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:41:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:41:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:41:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:41:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:41:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:42:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:42:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:42:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:42:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:42:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:42:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:43:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:43:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:43:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:43:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:43:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:43:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:44:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:44:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:44:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:44:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:44:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:44:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:45:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:45:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:45:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:45:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:45:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:45:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:46:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:46:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:46:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:46:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:46:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:46:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:47:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:47:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:47:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:47:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:47:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:47:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:48:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:48:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:48:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:48:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:48:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:48:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:49:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:49:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:49:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:49:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:49:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:49:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:50:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:50:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:50:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:50:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:50:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:50:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:51:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:51:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:51:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:51:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:51:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:51:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:52:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:52:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:52:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:52:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:52:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:52:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:53:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:53:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:53:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:53:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:53:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:54:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:54:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:54:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:54:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:54:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:54:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:55:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:55:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:55:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:55:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:55:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:55:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:56:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:56:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:56:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:56:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:56:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:56:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:57:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:57:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:57:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:57:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:57:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:57:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:58:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:58:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:58:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:58:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:58:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:58:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:59:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:59:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:59:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:59:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:59:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T16:59:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:00:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:00:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:00:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:00:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:00:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:00:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:01:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:01:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:01:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:01:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:01:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:01:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:02:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:02:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:02:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:02:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:02:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:02:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:03:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:03:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:03:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:03:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:03:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:03:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:04:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:04:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:04:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:04:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:04:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:04:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:05:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:05:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:05:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:05:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:05:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:05:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:06:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:06:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:06:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:06:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:06:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:06:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:07:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:07:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:07:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:07:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:07:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:07:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:08:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:08:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:08:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:08:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:08:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:08:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:09:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:09:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:09:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:09:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:09:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:09:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:10:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:10:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:10:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:10:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:10:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:10:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:11:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:11:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:11:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:11:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:11:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:11:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:12:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:12:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:12:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:12:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:12:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:12:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:13:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:13:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:13:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:13:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:13:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:13:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:14:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:14:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:14:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:14:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:14:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:14:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:15:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:15:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:15:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:15:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:15:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:15:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:16:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:16:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:16:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:16:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:16:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:16:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:17:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:17:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:17:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:17:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:17:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:17:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:18:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:18:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:18:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:18:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:18:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:18:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:19:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:19:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:19:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:19:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:19:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:19:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:20:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:20:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:20:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:20:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:20:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:20:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:21:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:21:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:21:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:21:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:21:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:21:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:22:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:22:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:22:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:22:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:22:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:22:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:23:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:23:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:23:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:23:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:23:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:23:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:24:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:24:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:24:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:24:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:24:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:24:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:25:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:25:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:25:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:25:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:25:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:25:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:26:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:26:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:26:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:26:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:26:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:26:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:27:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:27:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:27:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:27:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:27:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:27:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:28:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:28:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:28:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:28:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:28:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:28:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:29:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:29:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:29:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:29:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:29:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:29:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:30:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:30:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:30:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:30:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:30:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:30:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:31:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:31:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:31:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:31:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:31:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:31:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:32:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:32:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:32:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:32:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:32:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:32:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:33:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:33:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:33:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:33:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:33:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:33:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:34:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:34:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:34:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:34:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:34:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:34:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:35:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:35:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:35:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:35:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:35:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:35:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:36:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:36:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:36:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:36:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:36:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:36:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:37:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:37:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:37:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:37:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:37:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:37:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:38:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:38:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:38:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:38:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:38:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:38:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:39:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:39:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:39:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:39:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:39:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:39:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:40:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:40:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:40:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:40:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:40:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:40:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:41:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:41:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:41:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:41:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:41:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:41:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:42:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:42:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:42:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:42:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:42:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:42:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:43:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:43:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:43:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:43:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:43:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:43:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:44:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:44:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:44:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:44:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:44:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:44:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:45:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:45:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:45:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:45:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:45:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:45:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:46:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:46:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:46:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:46:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:46:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:46:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:47:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:47:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:47:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:47:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:47:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:47:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:48:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:48:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:48:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:48:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:48:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:48:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:49:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:49:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:49:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:49:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:49:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:49:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:50:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:50:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:50:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:50:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:50:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:50:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:51:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:51:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:51:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:51:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:51:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:51:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:52:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:52:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:52:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:52:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:52:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:52:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:53:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:53:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:53:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:53:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:53:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:53:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:54:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:54:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:54:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:54:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:54:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:54:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:55:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:55:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:55:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:55:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:55:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:55:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:56:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:56:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:56:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:56:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:56:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:56:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:57:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:57:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:57:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:57:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:57:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:57:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:58:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:58:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:58:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:58:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:58:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:58:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:59:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:59:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:59:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:59:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:59:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T17:59:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:00:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:00:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:00:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:00:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:00:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:00:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:01:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:01:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:01:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:01:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:01:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:01:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:02:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:02:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:02:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:02:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:02:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:02:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:03:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:03:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:03:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:03:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:03:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:03:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:04:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:04:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:04:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:04:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:04:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:04:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:05:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:05:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:05:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:05:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:05:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:05:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:06:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:06:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:06:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:06:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:06:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:06:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:07:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:07:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:07:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:07:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:07:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:07:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:08:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:08:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:08:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:08:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:08:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:08:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:09:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:09:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:09:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:09:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:09:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:09:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:10:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:10:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:10:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:10:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:10:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:10:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:11:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:11:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:11:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:11:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:11:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:11:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:12:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:12:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:12:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:12:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:12:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:12:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:13:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:13:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:13:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:13:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:13:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:13:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:14:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:14:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:14:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:14:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:14:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:14:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:15:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:15:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:15:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:15:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:15:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:15:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:16:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:16:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:16:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:16:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:16:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:16:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:17:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:17:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:17:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:17:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:17:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:17:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:18:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:18:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:18:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:18:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:18:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:18:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:19:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:19:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:19:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:19:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:19:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:19:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:20:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:20:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:20:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:20:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:20:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:20:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:21:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:21:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:21:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:21:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:21:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:21:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:22:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:22:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:22:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:22:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:22:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:22:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:23:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:23:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:23:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:23:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:23:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:23:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:24:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:24:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:24:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:24:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:24:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:24:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:25:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:25:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:25:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:25:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:25:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:25:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:26:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:26:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:26:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:26:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:26:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:26:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:27:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:27:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:27:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:27:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:27:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:27:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:28:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:28:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:28:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:28:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:28:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:28:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:29:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:29:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:29:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:29:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:29:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:29:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:30:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:30:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:30:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:30:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:30:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:30:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:31:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:31:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:31:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:31:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:31:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:31:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:32:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:32:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:32:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:32:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:32:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:32:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:33:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:33:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:33:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:33:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:33:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:33:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:34:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:34:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:34:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:34:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:34:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:34:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:35:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:35:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:35:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:35:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:35:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:35:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:36:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:36:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:36:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:36:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:36:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:36:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:37:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:37:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:37:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:37:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:37:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:37:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:38:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:38:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:38:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:38:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:38:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:38:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:39:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:39:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:39:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:39:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:39:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:39:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:40:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:40:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:40:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:40:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:40:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:40:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:41:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:41:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:41:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:41:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:41:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:41:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:42:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:42:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:42:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:42:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:42:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:42:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:43:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:43:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:43:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:43:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:43:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:43:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:44:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:44:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:44:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:44:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:44:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:44:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:45:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:45:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:45:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:45:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:45:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:45:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:46:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:46:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:46:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:46:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:46:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:46:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:47:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:47:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:47:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:47:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:47:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:47:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:48:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:48:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:48:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:48:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:48:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:48:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:49:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:49:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:49:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:49:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:49:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:49:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:50:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:50:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:50:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:50:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:50:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:50:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:51:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:51:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:51:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:51:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:51:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:51:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:52:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:52:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:52:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:52:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:52:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:52:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:53:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:53:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:53:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:53:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:53:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:53:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:54:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:54:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:54:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:54:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:54:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:54:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:55:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:55:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:55:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:55:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:55:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:55:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:56:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:56:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:56:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:56:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:56:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:56:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:57:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:57:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:57:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:57:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:57:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:58:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:58:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:58:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:58:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:58:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:58:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:59:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:59:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:59:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:59:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:59:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T18:59:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:00:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:00:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:00:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:00:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:00:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:00:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:01:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:01:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:01:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:01:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:01:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:01:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:02:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:02:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:02:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:02:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:02:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:02:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:03:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:03:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:03:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:03:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:03:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:03:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:04:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:04:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:04:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:04:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:04:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:04:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:05:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:05:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:05:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:05:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:05:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:05:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:06:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:06:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:06:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:06:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:06:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:06:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:07:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:07:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:07:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:07:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:07:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:07:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:08:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:08:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:08:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:08:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:08:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:08:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:09:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:09:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:09:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:09:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:09:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:09:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:10:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:10:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:10:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:10:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:10:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:10:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:11:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:11:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:11:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:11:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:11:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:11:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:12:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:12:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:12:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:12:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:12:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:12:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:13:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:13:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:13:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:13:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:13:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:13:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:14:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:14:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:14:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:14:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:14:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:14:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:15:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:15:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:15:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:15:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:15:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:15:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:16:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:16:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:16:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:16:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:16:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:16:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:17:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:17:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:17:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:17:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:17:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:17:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:18:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:18:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:18:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:18:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:18:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:18:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:19:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:19:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:19:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:19:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:19:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:19:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:20:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:20:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:20:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:20:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:20:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:20:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:21:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:21:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:21:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:21:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:21:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:21:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:22:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:22:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:22:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:22:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:22:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:22:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:23:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:23:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:23:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:23:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:23:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:23:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:24:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:24:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:24:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:24:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:24:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:24:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:25:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:25:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:25:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:25:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:25:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:25:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:26:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:26:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:26:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:26:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:26:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:26:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:27:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:27:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:27:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:27:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:27:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:27:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:28:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:28:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:28:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:28:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:28:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:28:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:29:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:29:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:29:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:29:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:29:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:29:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:30:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:30:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:30:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:30:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:30:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:30:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:31:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:31:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:31:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:31:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:31:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:31:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:32:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:32:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:32:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:32:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:32:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:32:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:33:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:33:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:33:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:33:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:33:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:33:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:34:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:34:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:34:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:34:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:34:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:34:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:35:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:35:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:35:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:35:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:35:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:35:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:36:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:36:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:36:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:36:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:36:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:36:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:37:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:37:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:37:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:37:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:37:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:37:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:38:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:38:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:38:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:38:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:38:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:38:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:39:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:39:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:39:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:39:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:39:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:39:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:40:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:40:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:40:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:40:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:40:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:40:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:41:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:41:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:41:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:41:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:41:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:41:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:42:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:42:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:42:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:42:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:42:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:42:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:43:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:43:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:43:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:43:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:43:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:43:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:44:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:44:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:44:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:44:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:44:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:44:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:45:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:45:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:45:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:45:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:45:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:45:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:46:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:46:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:46:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:46:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:46:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:46:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:47:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:47:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:47:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:47:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:47:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:47:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:48:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:48:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:48:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:48:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:48:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:48:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:49:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:49:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:49:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:49:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:49:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:49:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:50:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:50:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:50:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:50:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:50:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:50:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:51:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:51:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:51:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:51:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:51:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:51:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:52:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:52:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:52:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:52:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:52:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:52:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:53:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:53:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:53:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:53:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:53:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:53:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:54:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:54:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:54:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:54:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:54:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:54:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:55:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:55:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:55:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:55:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:55:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:55:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:56:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:56:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:56:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:56:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:56:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:56:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:57:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:57:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:57:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:57:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:57:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:57:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:58:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:58:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:58:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:58:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:58:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:58:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:59:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:59:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:59:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:59:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:59:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T19:59:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:00:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:00:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:00:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:00:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:00:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:00:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:01:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:01:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:01:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:01:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:01:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:01:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:02:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:02:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:02:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:02:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:02:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:02:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:03:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:03:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:03:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:03:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:03:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:03:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:04:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:04:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:04:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:04:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:04:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:04:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:05:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:05:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:05:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:05:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:05:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:05:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:06:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:06:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:06:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:06:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:06:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:06:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:07:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:07:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:07:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:07:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:07:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:07:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:08:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:08:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:08:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:08:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:08:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:08:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:09:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:09:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:09:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:09:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:09:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:09:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:10:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:10:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:10:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:10:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:10:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:10:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:11:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:11:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:11:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:11:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:11:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:11:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:12:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:12:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:12:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:12:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:12:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:12:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:13:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:13:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:13:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:13:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:13:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:13:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:14:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:14:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:14:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:14:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:14:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:14:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:15:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:15:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:15:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:15:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:15:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:15:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:16:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:16:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:16:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:16:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:16:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:16:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:17:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:17:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:17:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:17:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:17:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:17:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:18:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:18:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:18:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:18:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:18:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:18:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:19:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:19:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:19:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:19:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:19:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:19:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:20:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:20:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:20:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:20:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:20:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:20:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:21:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:21:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:21:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:21:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:21:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:21:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:22:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:22:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:22:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:22:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:22:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:22:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:23:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:23:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:23:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:23:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:23:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:23:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:24:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:24:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:24:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:24:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:24:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:24:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:25:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:25:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:25:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:25:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:25:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:25:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:26:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:26:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:26:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:26:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:26:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:26:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:27:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:27:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:27:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:27:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:27:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:27:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:28:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:28:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:28:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:28:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:28:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:28:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:29:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:29:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:29:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:29:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:29:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:29:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:30:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:30:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:30:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:30:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:30:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:30:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:31:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:31:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:31:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:31:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:31:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:31:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:32:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:32:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:32:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:32:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:32:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:32:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:33:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:33:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:33:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:33:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:33:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:33:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:34:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:34:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:34:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:34:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:34:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:34:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:35:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:35:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:35:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:35:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:35:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:35:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:36:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:36:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:36:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:36:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:36:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:36:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:37:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:37:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:37:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:37:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:37:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:37:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:38:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:38:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:38:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:38:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:38:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:38:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:39:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:39:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:39:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:39:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:39:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:39:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:40:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:40:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:40:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:40:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:40:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:40:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:41:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:41:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:41:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:41:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:41:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:41:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:42:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:42:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:42:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:42:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:42:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:42:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:43:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:43:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:43:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:43:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:43:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:43:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:44:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:44:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:44:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:44:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:44:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:44:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:45:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:45:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:45:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:45:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:45:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:45:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:46:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:46:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:46:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:46:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:46:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:46:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:47:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:47:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:47:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:47:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:47:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:47:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:48:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:48:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:48:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:48:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:48:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:48:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:49:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:49:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:49:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:49:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:49:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:49:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:50:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:50:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:50:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:50:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:50:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:50:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:51:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:51:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:51:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:51:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:51:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:51:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:52:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:52:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:52:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:52:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:52:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:52:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:53:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:53:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:53:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:53:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:53:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:53:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:54:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:54:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:54:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:54:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:54:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:54:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:55:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:55:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:55:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:55:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:55:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:55:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:56:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:56:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:56:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:56:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:56:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:56:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:57:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:57:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:57:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:57:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:57:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:57:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:58:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:58:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:58:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:58:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:58:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:58:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:59:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:59:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:59:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:59:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:59:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T20:59:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:00:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:00:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:00:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:00:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:00:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:00:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:01:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:01:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:01:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:01:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:01:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:01:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:02:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:02:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:02:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:02:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:02:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:03:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:03:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:03:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:03:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:03:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:03:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:04:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:04:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:04:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:04:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:04:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:04:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:05:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:05:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:05:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:05:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:05:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:05:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:06:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:06:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:06:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:06:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:06:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:06:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:07:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:07:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:07:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:07:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:07:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:07:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:08:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:08:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:08:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:08:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:08:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:08:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:09:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:09:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:09:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:09:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:09:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:09:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:10:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:10:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:10:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:10:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:10:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:10:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:11:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:11:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:11:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:11:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:11:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:11:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:12:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:12:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:12:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:12:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:12:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:12:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:13:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:13:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:13:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:13:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:13:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:13:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:14:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:14:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:14:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:14:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:14:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:14:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:15:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:15:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:15:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:15:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:15:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:15:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:16:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:16:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:16:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:16:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:16:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:16:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:17:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:17:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:17:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:17:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:17:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:17:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:18:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:18:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:18:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:18:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:18:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:18:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:19:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:19:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:19:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:19:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:19:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:19:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:20:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:20:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:20:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:20:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:20:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:20:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:21:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:21:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:21:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:21:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:21:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:21:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:22:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:22:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:22:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:22:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:22:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:22:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:23:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:23:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:23:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:23:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:23:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:23:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:24:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:24:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:24:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:24:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:24:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:24:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:25:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:25:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:25:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:25:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:25:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:25:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:26:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:26:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:26:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:26:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:26:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:26:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:27:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:27:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:27:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:27:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:27:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:27:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:28:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:28:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:28:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:28:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:28:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:28:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:29:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:29:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:29:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:29:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:29:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:29:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:30:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:30:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:30:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:30:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:30:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:30:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:31:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:31:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:31:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:31:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:31:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:31:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:32:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:32:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:32:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:32:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:32:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:32:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:33:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:33:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:33:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:33:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:33:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:33:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:34:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:34:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:34:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:34:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:34:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:34:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:35:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:35:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:35:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:35:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:35:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:35:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:36:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:36:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:36:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:36:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:36:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:36:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:37:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:37:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:37:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:37:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:37:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:37:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:38:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:38:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:38:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:38:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:38:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:38:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:39:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:39:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:39:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:39:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:39:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:39:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:40:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:40:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:40:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:40:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:40:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:40:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:41:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:41:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:41:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:41:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:41:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:41:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:42:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:42:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:42:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:42:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:42:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:42:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:43:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:43:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:43:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:43:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:43:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:43:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:44:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:44:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:44:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:44:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:44:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:44:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:45:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:45:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:45:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:45:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:45:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:45:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:46:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:46:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:46:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:46:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:46:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:46:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:47:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:47:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:47:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:47:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:47:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:47:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:48:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:48:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:48:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:48:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:48:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:48:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:49:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:49:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:49:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:49:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:49:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:49:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:50:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:50:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:50:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:50:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:50:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:50:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:51:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:51:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:51:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:51:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:51:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:51:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:52:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:52:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:52:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:52:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:52:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:52:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:53:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:53:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:53:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:53:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:53:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:53:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:54:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:54:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:54:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:54:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:54:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:54:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:55:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:55:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:55:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:55:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:55:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:55:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:56:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:56:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:56:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:56:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:56:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:56:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:57:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:57:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:57:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:57:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:57:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:57:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:58:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:58:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:58:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:58:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:58:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:58:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:59:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:59:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:59:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:59:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:59:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T21:59:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:00:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:00:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:00:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:00:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:00:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:00:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:01:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:01:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:01:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:01:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:01:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:01:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:02:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:02:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:02:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:02:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:02:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:02:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:03:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:03:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:03:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:03:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:03:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:03:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:04:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:04:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:04:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:04:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:04:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:04:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:05:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:05:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:05:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:05:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:05:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:05:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:06:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:06:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:06:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:06:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:06:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:06:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:07:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:07:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:07:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:07:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:07:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:07:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:08:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:08:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:08:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:08:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:08:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:08:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:09:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:09:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:09:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:09:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:09:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:09:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:10:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:10:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:10:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:10:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:10:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:10:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:11:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:11:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:11:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:11:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:11:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:11:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:12:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:12:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:12:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:12:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:12:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:12:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:13:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:13:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:13:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:13:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:13:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:13:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:14:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:14:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:14:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:14:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:14:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:14:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:15:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:15:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:15:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:15:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:15:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:15:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:16:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:16:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:16:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:16:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:16:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:16:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:17:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:17:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:17:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:17:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:17:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:17:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:18:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:18:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:18:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:18:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:18:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:18:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:19:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:19:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:19:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:19:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:19:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:19:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:20:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:20:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:20:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:20:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:20:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:20:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:21:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:21:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:21:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:21:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:21:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:21:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:22:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:22:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:22:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:22:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:22:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:22:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:23:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:23:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:23:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:23:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:23:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:23:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:23:59.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-07T22:23:59.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-07T22:23:59.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-07T22:23:59.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-07T22:23:59.000Z MQTT thread started (collect_train) -2026-02-07T22:23:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:23:59.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-07T22:24:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:24:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:24:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:24:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:24:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:24:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:24:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:24:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:24:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:24:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:24:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:24:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:24:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:24:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:25:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:25:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:25:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:25:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:25:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:25:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:25:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:25:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:25:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:25:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:25:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:25:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:25:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:26:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:26:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:26:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:26:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:26:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:26:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:26:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:26:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:26:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:26:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:26:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:26:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:26:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:27:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:27:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:27:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:27:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:27:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:27:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:27:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:27:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:27:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:27:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:27:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:27:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:27:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:28:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:28:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:28:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:28:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:28:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:28:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:28:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:28:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:28:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:28:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:28:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:28:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:28:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:29:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:29:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:29:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:29:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:29:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:29:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:29:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:29:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:29:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:29:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:29:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:29:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:29:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:30:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:30:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:30:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:30:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:30:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:30:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:30:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:30:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:30:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:30:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:30:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:30:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:30:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:31:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:31:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:31:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:31:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:31:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:31:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:31:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:31:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:31:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:31:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:31:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:31:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:31:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:32:19.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-07T22:32:19.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-07T22:32:19.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-07T22:32:19.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-07T22:32:19.000Z MQTT thread started (collect_train) -2026-02-07T22:32:19.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0)2026-02-07T22:32:19.000Z MQTT connected rc=0, subscribed to publish_out/# - -2026-02-07T22:32:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:32:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:32:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:32:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:33:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:33:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:33:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:33:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:33:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:33:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:34:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:34:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:34:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:34:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:34:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:34:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:35:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:35:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:35:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:35:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:35:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:35:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:36:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:36:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:36:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:36:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:36:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:36:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:37:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:37:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:37:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:37:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:37:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:37:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:38:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:38:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:38:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:38:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:38:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:38:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:39:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:39:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:39:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:39:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:39:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:39:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:40:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:40:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:40:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:40:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:40:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:40:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:41:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:41:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:41:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:41:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:41:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:41:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:42:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:42:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:42:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:42:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:42:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:42:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:43:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:43:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:43:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:43:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:43:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:43:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:44:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:44:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:44:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:44:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:44:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:44:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:45:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:45:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:45:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:45:43.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-07T22:45:43.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-07T22:45:43.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-07T22:45:43.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-07T22:45:43.000Z MQTT thread started (collect_train) -2026-02-07T22:45:43.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0)2026-02-07T22:45:43.000Z MQTT connected rc=0, subscribed to publish_out/# - -2026-02-07T22:45:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:45:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:46:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:46:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:46:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:46:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:46:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:46:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:46:58.000Z TRAIN job ERROR: 0_1362_-843.csv err=ValueError: Job CSV header non riconosciuto: ['Position', 'Floor', 'X', 'Y', 'MAC']. Attesi campi MAC/X/Y/Z (case-insensitive). -2026-02-07T22:47:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:47:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:47:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:47:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:47:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:47:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:48:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:48:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:48:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:48:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:48:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:48:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:49:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:49:10.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-07T22:49:10.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-07T22:49:10.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-07T22:49:10.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-07T22:49:10.000Z MQTT thread started (collect_train) -2026-02-07T22:49:10.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0)2026-02-07T22:49:10.000Z MQTT connected rc=0, subscribed to publish_out/# - -2026-02-07T22:49:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:49:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:49:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:49:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:49:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:49:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:49:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:49:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:49:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:49:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:49:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:49:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:50:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:50:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:50:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:50:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:50:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:50:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:50:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:50:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:50:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:50:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:50:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:50:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:50:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:51:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:51:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:51:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:51:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:51:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:51:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:51:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:51:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:51:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:51:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:51:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:51:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:51:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:52:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:52:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:52:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:52:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:52:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:52:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:52:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:52:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:52:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:52:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:52:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:52:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:52:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:52:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:52:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:52:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:52:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:52:25.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-07T22:52:25.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-07T22:52:25.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-07T22:52:25.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-07T22:52:25.000Z MQTT thread started (collect_train) -2026-02-07T22:52:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T22:52:25.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-07T22:52:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:52:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:52:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:52:54.000Z TRAIN job ERROR: 0_1569_1100.csv err=ValueError: Job CSV header non riconosciuto: ['Position', 'Floor', 'X', 'Y', 'MAC']. Attesi campi MAC/X/Y/Z (case-insensitive). -2026-02-07T22:52:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:53:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:53:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:53:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:53:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:53:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:53:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:54:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:54:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:54:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:54:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:54:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:54:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:55:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:55:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:55:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:55:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:55:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:55:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:56:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:56:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:56:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:56:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:56:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:56:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:57:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:57:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:57:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:57:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:57:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:57:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:58:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:58:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:58:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:58:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:58:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:58:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:59:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:59:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:59:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:59:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T22:59:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:00:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:00:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:00:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:00:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:00:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:00:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:01:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:01:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:01:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:01:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:02:01.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-07T23:02:01.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-07T23:02:01.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-07T23:02:01.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-07T23:02:01.000Z MQTT thread started (collect_train) -2026-02-07T23:02:01.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-07T23:02:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T23:02:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:02:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:02:20.000Z TRAIN job START: P_1356_1256.csv beacons=1 -2026-02-07T23:02:50.000Z COLLECT progress: 30s/30s C3000057B9E6: total=136 gw=10/16 -2026-02-07T23:02:50.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 0_1356_1256.csv -2026-02-07T23:02:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:03:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:03:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:03:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:03:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:03:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:03:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:04:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:04:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:04:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:04:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:04:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:04:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:05:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:05:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:05:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:05:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:05:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:05:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:06:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:06:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:06:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:06:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:06:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:06:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:07:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:07:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:07:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:07:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:07:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:08:04.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-07T23:08:04.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-07T23:08:04.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-07T23:08:04.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-07T23:08:04.000Z MQTT thread started (collect_train) -2026-02-07T23:08:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T23:08:04.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-07T23:08:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:08:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:08:23.000Z TRAIN job START: P_2142_616.csv beacons=1 -2026-02-07T23:08:53.000Z COLLECT progress: 30s/30s C3000057B9E6: total=194 gw=10/16 -2026-02-07T23:08:53.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 0_2142_616.csv -2026-02-07T23:08:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:09:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:09:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:09:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:09:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:09:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:09:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:10:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:10:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:10:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:10:27.000Z TRAIN job START: P_2491_543.csv beacons=1 -2026-02-07T23:10:57.000Z COLLECT progress: 30s/30s C3000057B9D4: total=652 gw=11/16 -2026-02-07T23:10:57.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 0_2491_543.csv -2026-02-07T23:10:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:11:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:11:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:11:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:11:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:11:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:11:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:12:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:12:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:12:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:12:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:12:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:12:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:13:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:13:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:13:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:13:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:13:51.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-07T23:13:51.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-07T23:13:51.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-07T23:13:51.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-07T23:13:51.000Z MQTT thread started (collect_train) -2026-02-07T23:13:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T23:13:51.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-07T23:13:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:14:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:14:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:14:12.000Z TRAIN job START: BC-21_0_2115_697.csv beacons=1 -2026-02-07T23:14:42.000Z COLLECT progress: 30s/30s C3000057B9E6: total=151 gw=10/16 -2026-02-07T23:14:42.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 0_2115_697.csv -2026-02-07T23:14:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:14:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:15:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:15:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:15:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:15:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:15:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:15:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:16:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:16:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:16:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:16:54.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-07T23:16:54.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-07T23:16:54.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-07T23:16:54.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-07T23:16:54.000Z MQTT thread started (collect_train) -2026-02-07T23:16:54.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-07T23:16:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T23:16:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:17:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:17:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:17:17.000Z TRAIN job START: BC-21_0_2114_796.csv beacons=1 -2026-02-07T23:17:47.000Z COLLECT progress: 30s/30s C3000057B9E6: total=195 gw=10/16 -2026-02-07T23:17:48.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 0_2114_796.csv -2026-02-07T23:17:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:17:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:18:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:18:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:18:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:18:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:18:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:18:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:19:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:19:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:19:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:19:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:19:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:19:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:20:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:20:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:20:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:20:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:20:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:20:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:21:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:21:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:21:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:21:41.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-07T23:21:41.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-07T23:21:41.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-07T23:21:41.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-07T23:21:41.000Z MQTT thread started (collect_train) -2026-02-07T23:21:41.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-07T23:21:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T23:21:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:21:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:21:54.000Z TRAIN job START: BC-21_0_2568_946.csv beacons=1 -2026-02-07T23:22:24.000Z COLLECT progress: 30s/30s C3000057B9E6: total=121 gw=10/16 -2026-02-07T23:22:24.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 0_2568_946.csv -2026-02-07T23:22:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:22:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:22:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:22:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:23:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:23:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:23:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:23:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:23:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:23:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:24:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:24:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:24:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:24:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:24:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:24:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:25:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:25:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:25:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:25:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:25:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:25:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:26:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:26:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:26:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:26:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:26:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:26:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:27:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:27:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:27:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:27:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:27:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:27:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:28:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:28:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:28:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:28:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:28:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:28:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:29:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:29:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:29:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:29:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:29:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:29:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:30:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:30:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:30:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:30:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:30:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:30:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:31:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:31:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:31:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:31:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:31:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:31:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:32:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:32:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:32:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:32:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:32:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:32:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:33:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:33:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:33:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:33:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:33:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:33:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:34:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:34:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:34:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:34:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:34:52.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-07T23:34:52.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-07T23:34:52.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-07T23:34:52.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-07T23:34:52.000Z MQTT thread started (collect_train) -2026-02-07T23:34:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T23:34:52.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-07T23:34:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:35:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:35:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:35:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:35:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:35:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:35:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:36:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:36:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:36:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:36:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:36:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:36:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:37:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:37:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:37:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:37:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:37:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:37:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:38:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:38:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:38:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:38:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:38:44.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:38:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:39:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:39:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:39:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:39:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:39:49.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-07T23:39:49.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-07T23:39:49.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-07T23:39:49.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-07T23:39:49.000Z MQTT thread started (collect_train) -2026-02-07T23:39:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T23:39:49.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-07T23:39:54.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:40:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:40:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:40:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:40:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:40:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:40:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:41:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:41:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:41:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:41:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:41:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:41:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:42:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:42:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:42:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:42:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:42:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:42:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:43:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:43:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:43:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:43:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:43:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:43:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:44:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:44:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:44:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:44:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:44:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:44:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:45:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:45:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:45:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:45:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:45:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:45:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:46:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:46:11.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-07T23:46:11.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-07T23:46:11.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-07T23:46:11.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-07T23:46:11.000Z MQTT thread started (collect_train) -2026-02-07T23:46:11.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-07T23:46:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T23:46:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:46:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:46:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:46:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:46:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:47:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:47:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:47:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:47:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:47:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:47:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:48:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:48:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:48:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:48:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:48:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:48:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:49:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:49:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:49:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:49:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:49:48.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-07T23:49:48.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-07T23:49:48.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-07T23:49:48.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-07T23:49:48.000Z MQTT thread started (collect_train) -2026-02-07T23:49:48.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-07T23:49:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T23:49:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:49:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:50:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:50:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:50:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:50:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:50:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:50:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:51:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:51:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:51:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:51:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:51:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:51:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:52:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:52:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:52:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:52:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:52:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:52:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:53:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:53:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:53:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:53:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:53:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:54:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:54:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:54:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:54:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:54:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:54:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:55:14.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-07T23:55:14.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-07T23:55:14.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-07T23:55:14.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-07T23:55:14.000Z MQTT thread started (collect_train) -2026-02-07T23:55:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-07T23:55:14.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-07T23:55:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:55:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:55:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:55:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:55:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:55:59.000Z TRAIN job START: BC-23_1_1800_600.csv beacons=1 -2026-02-07T23:56:29.000Z COLLECT progress: 30s/30s C3000057B9E8: total=210 gw=12/16 -2026-02-07T23:56:29.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 1_1800_600.csv -2026-02-07T23:56:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:56:29.000Z TRAIN job START: BC-24_1_2200_1000.csv beacons=1 -2026-02-07T23:56:59.000Z COLLECT progress: 30s/30s C3000057B9F1: total=302 gw=8/16 -2026-02-07T23:56:59.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 1_2200_1000.csv -2026-02-07T23:56:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:56:59.000Z TRAIN job START: BC-25_1_2400_300.csv beacons=1 -2026-02-07T23:57:29.000Z COLLECT progress: 30s/30s C3000057B9E7: total=363 gw=10/16 -2026-02-07T23:57:29.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 1_2400_300.csv -2026-02-07T23:57:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:57:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:57:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:57:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:58:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:58:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:58:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:58:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:58:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:58:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:59:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:59:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:59:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:59:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:59:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-07T23:59:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:00:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:00:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:00:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:00:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:00:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:00:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:01:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:01:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:01:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:01:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:01:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:01:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:02:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:02:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:02:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:02:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:02:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:02:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:03:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:03:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:03:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:03:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:03:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:03:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:04:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:04:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:04:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:04:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:04:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:05:14.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T00:05:14.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T00:05:14.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T00:05:14.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T00:05:14.000Z MQTT thread started (collect_train) -2026-02-08T00:05:14.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0)2026-02-08T00:05:14.000Z MQTT connected rc=0, subscribed to publish_out/# - -2026-02-08T00:05:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:05:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:05:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:05:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:05:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:06:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:06:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:06:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:06:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:06:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:06:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:07:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:07:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:07:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:07:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:07:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:07:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:08:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:08:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:08:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:08:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:08:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:08:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:09:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:09:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:09:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:09:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:09:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:09:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:10:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:10:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:10:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:10:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:10:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:10:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:11:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:11:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:11:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:11:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:11:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:11:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:12:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:12:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:12:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:12:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:12:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:12:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:13:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:13:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:13:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:13:45.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T00:13:45.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T00:13:45.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T00:13:45.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T00:13:45.000Z MQTT thread started (collect_train) -2026-02-08T00:13:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:13:45.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-08T00:13:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:13:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:14:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:14:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:14:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:14:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:14:40.000Z TRAIN job START: BC-21_1_950_750.csv beacons=1 -2026-02-08T00:15:10.000Z COLLECT progress: 30s/30s C3000057B9E6: total=240 gw=10/16 -2026-02-08T00:15:10.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 1_950_750.csv -2026-02-08T00:15:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:15:10.000Z TRAIN job START: BC-24_1_1900_1400.csv beacons=1 -2026-02-08T00:15:40.000Z COLLECT progress: 30s/30s C3000057B9F1: total=309 gw=8/16 -2026-02-08T00:15:40.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 1_1900_1400.csv -2026-02-08T00:15:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:15:48.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T00:15:48.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T00:15:48.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T00:15:48.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T00:15:48.000Z MQTT thread started (collect_train) -2026-02-08T00:15:48.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0)2026-02-08T00:15:48.000Z MQTT connected rc=0, subscribed to publish_out/# - -2026-02-08T00:15:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:15:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:15:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:15:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:15:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:15:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:15:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:15:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:15:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:15:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:15:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:15:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:15:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:15:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:16:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:16:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:16:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:16:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:16:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:16:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:16:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:16:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:16:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:16:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:16:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:16:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:16:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:17:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:17:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:17:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:17.000Z TRAIN job START: BC-24_1_1050_400.csv beacons=1 -2026-02-08T00:17:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:18.000Z TRAIN job START: BC-24_1_1050_400.csv beacons=1 -2026-02-08T00:17:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:47.000Z COLLECT progress: 30s/30s C3000057B9F1: total=159 gw=8/16 -2026-02-08T00:17:47.000Z TRAIN job ERROR: BC-24_1_1050_400.csv err=FileNotFoundError: [Errno 2] No such file or directory: '/data/train/jobs/pending/BC-24_1_1050_400.csv' -> '/data/train/jobs/done/BC-24_1_1050_400.csv' -2026-02-08T00:17:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:17:48.000Z COLLECT progress: 30s/30s C3000057B9F1: total=488 gw=8/16 -2026-02-08T00:17:48.000Z TRAIN job ERROR: BC-24_1_1050_400.csv err=FileNotFoundError: [Errno 2] No such file or directory: '/data/train/jobs/pending/BC-24_1_1050_400.csv' -> '/data/train/jobs/done/BC-24_1_1050_400.csv' -2026-02-08T00:17:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:17:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:17:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:17:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:17:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:18:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:18:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:18:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:18:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:18:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:18:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:18:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:18:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:18:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:18:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:18:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:18:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:18:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:19:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:19:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:19:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:19:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:19:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:19:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:19:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:19:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:19:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:19:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:19:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:19:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:19:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:20:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:20:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:20:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:20:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:20:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:20:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:20:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:20:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:20:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:20:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:20:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:20:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:20:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:21:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:21:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:21:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:21:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:21:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:21:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:21:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:21:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:21:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:21:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:21:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:21:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:22:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:22:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:22:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:22:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:22:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:22:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:22:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:22:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:22:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:22:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:22:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:22:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:22:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:22:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:23:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:23:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:23:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:23:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:34.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T00:23:34.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T00:23:34.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T00:23:34.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T00:23:34.000Z MQTT thread started (collect_train) -2026-02-08T00:23:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:23:34.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-08T00:23:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:23:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:23:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:24:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:24:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:24:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:24:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:24:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:24:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:25:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:25:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:25:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:25:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:25:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:25:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:26:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:26:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:26:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:26:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:26:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:26:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:27:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:27:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:27:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:27:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:27:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:27:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:28:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:28:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:28:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:28:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:28:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:28:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:29:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:29:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:29:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:29:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:29:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:29:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:30:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:30:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:30:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:30:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:30:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:30:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:31:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:31:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:31:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:31:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:31:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:31:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:32:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:32:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:32:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:32:42.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T00:32:42.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T00:32:42.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T00:32:42.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T00:32:42.000Z MQTT thread started (collect_train) -2026-02-08T00:32:42.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-08T00:32:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:32:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:32:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:33:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:33:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:33:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:33:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:33:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:33:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:34:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:34:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:34:17.000Z TRAIN job START: BC-21_1_1050_500.csv beacons=1 -2026-02-08T00:34:48.000Z COLLECT progress: 30s/30s C3000057B9E6: total=477 gw=10/16 -2026-02-08T00:34:48.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 1_1050_500.csv -2026-02-08T00:34:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:34:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:35:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:35:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:35:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:35:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:35:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:35:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:36:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:36:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:36:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:36:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:36:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:36:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:37:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:37:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:37:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:37:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:37:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:37:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:38:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:38:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:38:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:38:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:38:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:38:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:39:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:39:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:39:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:39:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:39:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:39:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:40:19.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T00:40:19.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T00:40:19.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T00:40:19.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T00:40:19.000Z MQTT thread started (collect_train) -2026-02-08T00:40:19.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-08T00:40:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:40:24.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:40:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:40:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:40:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:40:56.000Z TRAIN job START: BC-25_1_1450_600.csv beacons=1 -2026-02-08T00:41:26.000Z COLLECT progress: 30s/30s C3000057B9E7: total=175 gw=10/16 -2026-02-08T00:41:26.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 1_1450_600.csv -2026-02-08T00:41:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:41:26.000Z TRAIN job START: BC-21_1_2750_200.csv beacons=1 -2026-02-08T00:41:56.000Z COLLECT progress: 30s/30s C3000057B9E6: total=294 gw=10/16 -2026-02-08T00:41:56.000Z TRAIN job ERROR: BC-21_1_2750_200.csv err=FileNotFoundError: [Errno 2] No such file or directory: '/data/train/jobs/pending/BC-21_1_2750_200.csv' -> '/data/train/jobs/done/BC-21_1_2750_200.csv' -2026-02-08T00:41:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:41:56.000Z TRAIN job START: BC-25_1_2500_1300.csv beacons=1 -2026-02-08T00:42:26.000Z COLLECT progress: 30s/30s C3000057B9E7: total=331 gw=10/16 -2026-02-08T00:42:26.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 1_2500_1300.csv -2026-02-08T00:42:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:42:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:42:42.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T00:42:42.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T00:42:42.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T00:42:42.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T00:42:42.000Z MQTT thread started (collect_train) -2026-02-08T00:42:42.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0)2026-02-08T00:42:42.000Z MQTT connected rc=0, subscribed to publish_out/# - -2026-02-08T00:42:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:42:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:42:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:42:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:42:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:42:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:42:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:42:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:42:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:42:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:42:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:42:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:42:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:42:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:42:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:42:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:42:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:42:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:42:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:42:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:42:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:43:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:43:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:43:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:43:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:43:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:43:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:43:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:43:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:43:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:43:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:43:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:43:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:43:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:44:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:44:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:44:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:44:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:44:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:44:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:44:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:44:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:44:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:44:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:44:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:44:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:44:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:45:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:45:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:45:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:45:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:45:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:45:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:45:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:45:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:45:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:45:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:45:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:45:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:45:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:46:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:46:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:46:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:46:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:46:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:46:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:46:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:46:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:46:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:46:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:46:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:46:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:46:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:47:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:47:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:47:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:47:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:47:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:47:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:47:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:47:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:47:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:47:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:47:55.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T00:47:55.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T00:47:55.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T00:47:55.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T00:47:55.000Z MQTT thread started (collect_train) -2026-02-08T00:47:55.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0)2026-02-08T00:47:55.000Z MQTT connected rc=0, subscribed to publish_out/# - -2026-02-08T00:47:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:47:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:47:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:48:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:48:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:49:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:49:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:49:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:49:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:49:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:49:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:49:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:49:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:49:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:49:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:49:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:49:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:49:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:46.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:49:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:49:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:49:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:56.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:49:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:49:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:49:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:50:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:50:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:50:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:50:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:16.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:50:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:50:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:50:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:26.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:50:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:50:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:50:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:36.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:50:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:50:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:50:56.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T00:50:56.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T00:50:56.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T00:50:56.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T00:50:56.000Z MQTT thread started (collect_train) -2026-02-08T00:50:56.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-08T00:50:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:51:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:51:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:51:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:51:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:51:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:51:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:51:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:52:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:52:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:52:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:52:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:52:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:52:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:53:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:53:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:53:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:53:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:53:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:53:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:54:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:54:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:54:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:54:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:54:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:54:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:55:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:55:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:55:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:55:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:56:05.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T00:56:05.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T00:56:05.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T00:56:05.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T00:56:05.000Z MQTT thread started (collect_train) -2026-02-08T00:56:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T00:56:05.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-08T00:56:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:56:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:56:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:56:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:56:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:56:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:57:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:57:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:57:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:57:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:57:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:57:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:58:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:58:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:58:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:58:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:58:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:58:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:59:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:59:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:59:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:59:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:59:47.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T00:59:57.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:00:07.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:00:17.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:00:27.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:00:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:01:09.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T01:01:09.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T01:01:09.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T01:01:09.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T01:01:09.000Z MQTT thread started (collect_train) -2026-02-08T01:01:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:01:09.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-08T01:01:14.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:01:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:01:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:01:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:01:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:02:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:02:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:02:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:02:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:02:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:02:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:03:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:03:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:03:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:03:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:03:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:03:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:04:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:04:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:04:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:04:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:04:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:04:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:05:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:05:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:05:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:05:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:05:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:05:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:06:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:06:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:06:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:06:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:06:50.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T01:06:50.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T01:06:50.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T01:06:50.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T01:06:50.000Z MQTT thread started (collect_train) -2026-02-08T01:06:50.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0)2026-02-08T01:06:50.000Z MQTT connected rc=0, subscribed to publish_out/# - -2026-02-08T01:06:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:07:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:07:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:07:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:07:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:07:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:07:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:07:53.000Z TRAIN job START: BC-21_0_619_122.csv beacons=1 -2026-02-08T01:08:23.000Z COLLECT progress: 30s/30s C3000057B9E6: total=335 gw=10/16 -2026-02-08T01:08:23.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 0_619_122.csv -2026-02-08T01:08:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:08:23.000Z TRAIN job START: BC-22_0_534_999.csv beacons=1 -2026-02-08T01:08:53.000Z COLLECT progress: 30s/30s C3000057B9D4: total=442 gw=11/16 -2026-02-08T01:08:53.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 0_534_999.csv -2026-02-08T01:08:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:09:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:09:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:09:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:09:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:09:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:09:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:10:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:10:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:10:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:10:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:10:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:10:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:11:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:11:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:11:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:11:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:11:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:11:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:12:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:12:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:12:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:12:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:12:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:12:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:13:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:13:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:13:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:13:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:13:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:13:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:14:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:14:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:14:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:14:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:14:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:14:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:15:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:15:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:15:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:15:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:15:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:15:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:16:18.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T01:16:18.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T01:16:18.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T01:16:18.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T01:16:18.000Z MQTT thread started (collect_train) -2026-02-08T01:16:18.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-08T01:16:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:16:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:16:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:16:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:16:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:16:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:17:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:17:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:17:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:17:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:17:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:17:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:18:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:18:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:18:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:18:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:18:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:18:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:19:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:19:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:19:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:19:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:19:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:19:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:20:17.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T01:20:17.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T01:20:17.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T01:20:17.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T01:20:17.000Z MQTT thread started (collect_train) -2026-02-08T01:20:17.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-08T01:20:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:20:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:20:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:20:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:20:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:20:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:21:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:21:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:21:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:21:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:21:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:21:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:22:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:22:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:22:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:22:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:22:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:22:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:23:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:23:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:23:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:23:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:23:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:23:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:24:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:24:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:24:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:24:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:24:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:24:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:25:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:25:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:25:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:25:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:25:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:25:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:26:09.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:26:19.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:26:29.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:26:39.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:26:49.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:27:10.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T01:27:10.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T01:27:10.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T01:27:10.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T01:27:10.000Z MQTT thread started (collect_train) -2026-02-08T01:27:10.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0)2026-02-08T01:27:10.000Z MQTT connected rc=0, subscribed to publish_out/# - -2026-02-08T01:27:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:27:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:27:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:27:40.000Z TRAIN job START: BC-21_0_400_100.csv beacons=1 -2026-02-08T01:28:10.000Z COLLECT progress: 30s/30s C3000057B9E6: total=232 gw=10/16 -2026-02-08T01:28:10.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 0_400_100.csv -2026-02-08T01:28:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:28:10.000Z TRAIN job START: BC-25_0_562_239.csv beacons=1 -2026-02-08T01:28:40.000Z COLLECT progress: 30s/30s C3000057B9E7: total=251 gw=10/16 -2026-02-08T01:28:40.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 0_562_239.csv -2026-02-08T01:28:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:28:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:29:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:29:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:29:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:29:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:29:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:29:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:30:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:30:10.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T01:30:10.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T01:30:10.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T01:30:10.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T01:30:10.000Z MQTT thread started (collect_train) -2026-02-08T01:30:10.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-08T01:30:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:30:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:30:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:30:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:30:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:30:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:30:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:30:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:30:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:30:51.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:30:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:30:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:31:01.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:31:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:31:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:31:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:31:21.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:31:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:31:31.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:31:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:31:40.000Z TRAIN job START: BC-21_-1_1050_250.csv beacons=1 -2026-02-08T01:31:41.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:31:41.000Z TRAIN job START: BC-21_-1_1050_250.csv beacons=1 -2026-02-08T01:31:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:31:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:10.000Z COLLECT progress: 30s/30s C3000057B9E6: total=766 gw=11/16 -2026-02-08T01:32:10.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: -1_1050_250.csv -2026-02-08T01:32:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:32:10.000Z TRAIN job START: BC-22_-1_1650_1100.csv beacons=1 -2026-02-08T01:32:11.000Z COLLECT progress: 30s/30s C3000057B9E6: total=171 gw=10/16 -2026-02-08T01:32:11.000Z TRAIN job ERROR: BC-21_-1_1050_250.csv err=FileNotFoundError: [Errno 2] No such file or directory: '/data/train/jobs/pending/BC-21_-1_1050_250.csv' -> '/data/train/jobs/done/BC-21_-1_1050_250.csv' -2026-02-08T01:32:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:11.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:32:11.000Z TRAIN job START: BC-22_-1_1650_1100.csv beacons=1 -2026-02-08T01:32:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:40.000Z COLLECT progress: 30s/30s C3000057B9D4: total=978 gw=11/16 -2026-02-08T01:32:40.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: -1_1650_1100.csv -2026-02-08T01:32:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:32:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:41.000Z COLLECT progress: 30s/30s C3000057B9D4: total=282 gw=11/16 -2026-02-08T01:32:41.000Z TRAIN job ERROR: BC-22_-1_1650_1100.csv err=FileNotFoundError: [Errno 2] No such file or directory: '/data/train/jobs/pending/BC-22_-1_1650_1100.csv' -> '/data/train/jobs/done/BC-22_-1_1650_1100.csv' -2026-02-08T01:32:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:32:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:32:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:32:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:32:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:33:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:33:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:33:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:33:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:33:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:33:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:33:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:33:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:33:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:33:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:33:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:33:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:33:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:34:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:34:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:34:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:34:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:34:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:34:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:34:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:34:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:34:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:34:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:34:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:34:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:34:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:35:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:35:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:35:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:35:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:35:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:35:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:35:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:35:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:40.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:35:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:35:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:50.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:35:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:35:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:35:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:00.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:36:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:36:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:10.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:36:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:36:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:20.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:36:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:36:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:30.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:36:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:36:32.000Z TRAIN job START: BC-23_0_1580_180.csv beacons=1 -2026-02-08T01:36:32.000Z TRAIN job START: BC-23_0_1580_180.csv beacons=1 -2026-02-08T01:36:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:36:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:02.000Z COLLECT progress: 30s/30s C3000057B9E8: total=712 gw=12/16 -2026-02-08T01:37:02.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 0_1580_180.csv -2026-02-08T01:37:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:37:02.000Z COLLECT progress: 30s/30s C3000057B9E8: total=1352 gw=12/16 -2026-02-08T01:37:02.000Z TRAIN job ERROR: BC-23_0_1580_180.csv err=FileNotFoundError: [Errno 2] No such file or directory: '/data/train/jobs/pending/BC-23_0_1580_180.csv' -> '/data/train/jobs/done/BC-23_0_1580_180.csv' -2026-02-08T01:37:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:37:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:37:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:37:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:37:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:37:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:37:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:37:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:37:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:37:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:37:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:37:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:37:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:38:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:38:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:38:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:38:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:38:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:38:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:38:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:38:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:38:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:38:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:38:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:38:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:38:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:39:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:39:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:39:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:39:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:39:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:39:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:39:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:39:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:39:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:39:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:39:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:40:17.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T01:40:17.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T01:40:17.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T01:40:17.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T01:40:17.000Z MQTT thread started (collect_train) -2026-02-08T01:40:17.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-08T01:40:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:40:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:40:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:40:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:40:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:40:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:41:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:41:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:41:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:41:32.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T01:41:32.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T01:41:32.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T01:41:32.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T01:41:32.000Z MQTT thread started (collect_train) -2026-02-08T01:41:32.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-08T01:41:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:41:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:41:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:41:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:41:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:41:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:41:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:41:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:42:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:42:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:42:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:42:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:42:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:42:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:42:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:42:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:42:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:42:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:42:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:42:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:42:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:43:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:43:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:43:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:43:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:43:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:43:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:43:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:43:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:43:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:43:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:43:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:43:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:43:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:44:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:44:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:44:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:44:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:44:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:44:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:44:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:44:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:44:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:44:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:44:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:44:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:44:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:45:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:45:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:45:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:45:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:45:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:45:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:45:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:45:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:45:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:45:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:45:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:45:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:45:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:02.000Z TRAIN job START: BC-21_0_195_1425.csv beacons=1 -2026-02-08T01:46:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:46:03.000Z TRAIN job START: BC-21_0_195_1425.csv beacons=1 -2026-02-08T01:46:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:32.000Z COLLECT progress: 30s/30s C3000057B9E6: total=779 gw=10/16 -2026-02-08T01:46:32.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 0_195_1425.csv -2026-02-08T01:46:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:46:32.000Z TRAIN job START: BC-22_-1_170_1418.csv beacons=1 -2026-02-08T01:46:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:33.000Z COLLECT progress: 30s/30s C3000057B9E6: total=539 gw=10/16 -2026-02-08T01:46:33.000Z TRAIN job ERROR: BC-21_0_195_1425.csv err=FileNotFoundError: [Errno 2] No such file or directory: '/data/train/jobs/pending/BC-21_0_195_1425.csv' -> '/data/train/jobs/done/BC-21_0_195_1425.csv' -2026-02-08T01:46:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:34.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:46:34.000Z TRAIN job START: BC-22_-1_170_1418.csv beacons=1 -2026-02-08T01:46:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:46:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:03.000Z COLLECT progress: 30s/30s C3000057B9D4: total=921 gw=11/16 -2026-02-08T01:47:03.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: -1_170_1418.csv -2026-02-08T01:47:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:47:03.000Z TRAIN job START: BC-23_1_130_1386.csv beacons=1 -2026-02-08T01:47:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:04.000Z COLLECT progress: 30s/30s C3000057B9D4: total=600 gw=11/16 -2026-02-08T01:47:04.000Z TRAIN job ERROR: BC-22_-1_170_1418.csv err=FileNotFoundError: [Errno 2] No such file or directory: '/data/train/jobs/pending/BC-22_-1_170_1418.csv' -> '/data/train/jobs/done/BC-22_-1_170_1418.csv' -2026-02-08T01:47:04.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:47:04.000Z TRAIN job START: BC-23_1_130_1386.csv beacons=1 -2026-02-08T01:47:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:33.000Z COLLECT progress: 30s/30s C3000057B9E8: total=909 gw=12/16 -2026-02-08T01:47:33.000Z TRAIN job DONE: wrote 1 sample files to /data/train/samples: 1_130_1386.csv -2026-02-08T01:47:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:47:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:34.000Z COLLECT progress: 30s/30s C3000057B9E8: total=657 gw=12/16 -2026-02-08T01:47:34.000Z TRAIN job ERROR: BC-23_1_130_1386.csv err=FileNotFoundError: [Errno 2] No such file or directory: '/data/train/jobs/pending/BC-23_1_130_1386.csv' -> '/data/train/jobs/done/BC-23_1_130_1386.csv' -2026-02-08T01:47:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:47:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:47:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:47:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:47:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:47:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:47:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:48:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:48:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:48:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:48:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:48:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:48:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:48:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:48:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:48:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:48:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:48:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:48:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:48:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:49:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:49:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:49:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:49:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:49:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:49:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:49:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:49:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:49:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:49:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:49:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:49:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:49:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:50:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:50:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:50:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:50:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:50:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:50:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:50:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:50:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:50:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:50:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:50:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:50:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:50:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:51:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:51:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:51:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:51:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:51:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:51:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:51:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:51:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:51:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:51:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:51:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:51:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:51:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:52:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:52:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:52:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:52:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:52:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:52:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:52:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:52:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:52:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:52:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:52:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:52:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:52:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:53:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:53:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:53:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:53:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:53:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:53:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:53:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:53:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:53:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:53:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:53:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:53:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:53:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:54:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:54:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:54:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:54:16.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:17.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:18.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:19.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:20.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:21.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:22.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:23.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:54:24.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:25.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:54:26.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:27.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:28.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:29.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:30.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:31.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:33.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:54:34.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:35.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:54:36.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:37.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:38.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:39.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:40.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:41.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:42.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:43.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:54:44.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:45.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:54:46.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:47.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:48.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:49.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:50.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:51.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:52.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:54:53.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:55.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:54:56.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:58.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:54:59.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:55:00.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:55:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:55:02.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:55:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:55:03.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:55:04.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:55:05.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:55:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:55:06.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:55:07.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:55:08.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:55:09.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:55:10.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:55:11.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:55:12.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:55:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:55:13.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:55:14.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:55:15.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:55:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:55:32.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T01:55:32.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T01:55:32.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T01:55:32.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T01:55:32.000Z MQTT thread started (collect_train) -2026-02-08T01:55:32.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-08T01:55:32.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:55:37.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:55:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:55:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:56:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:56:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:56:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:56:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:56:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:57:01.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T01:57:01.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T01:57:01.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T01:57:01.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T01:57:01.000Z MQTT thread started (collect_train) -2026-02-08T01:57:01.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-08T01:57:01.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T01:57:06.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:57:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:57:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:57:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:57:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:57:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:58:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:58:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:58:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:58:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:58:42.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:58:52.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:59:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:59:12.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:59:22.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:59:32.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:59:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T01:59:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:00:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:00:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:00:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:00:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:00:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:00:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:01:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:01:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:01:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:01:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:01:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:01:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:02:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:02:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:02:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:02:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:02:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:02:53.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:03:03.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:03:13.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:03:23.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:03:33.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:03:43.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:03:57.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T02:03:57.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T02:03:57.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T02:03:57.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T02:03:57.000Z MQTT thread started (collect_train) -2026-02-08T02:03:57.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-08T02:03:57.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T02:04:02.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:04:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:04:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:04:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:04:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:04:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:04:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:05:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:05:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:05:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:05:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:05:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:05:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:06:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:06:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:06:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:06:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:06:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:06:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:07:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:07:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:07:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:07:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:07:48.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:07:58.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:08:08.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:08:18.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:08:28.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:08:38.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:08:54.000Z Settings loaded from /config/config.yaml. Keys: ['api', 'collect_train', 'debug', 'infer', 'maps', 'ml', 'mode', 'mqtt', 'paths', 'train', 'ui'] -2026-02-08T02:08:54.000Z BUILD: ble-ai-localizer main.py 2026-01-30 build-floatagg-v1 sha256=4334dd41a022 size=27874 -2026-02-08T02:08:54.000Z [gateway.csv] loaded gateways=16 invalid=0 duplicates=0 -2026-02-08T02:08:54.000Z COLLECT_TRAIN config: gateway_csv=/data/config/gateway.csv gateways(feature-set)=16 window_seconds=30.0 poll_seconds=2.0 rssi_decimals=3 jobs_dir=/data/train/jobs pending_dir=/data/train/jobs/pending done_dir=/data/train/jobs/done error_dir=/data/train/jobs/error samples_dir=/data/train/samples mqtt=192.168.1.101:1883 topic=publish_out/# -/app/app/main.py:616: DeprecationWarning: Callback API version 1 is deprecated, update to latest version - client = mqtt.Client(client_id=client_id, protocol=proto) -2026-02-08T02:08:54.000Z MQTT thread started (collect_train) -2026-02-08T02:08:54.000Z WAIT gateways online (16 missing, seen=0/16): ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE', 'AC:23:3F:C1:DD:40', 'AC:23:3F:C1:DD:51', 'AC:23:3F:C1:DD:48', 'AC:23:3F:C1:DD:50', 'AC:23:3F:C1:DC:D3', 'AC:23:3F:C1:DD:55', 'AC:23:3F:C1:DC:D1', 'AC:23:3F:C1:DC:CB', 'AC:23:3F:C1:DC:D2', 'AC:23:3F:C1:DD:31', 'AC:23:3F:C1:DD:4B', 'AC:23:3F:C1:DD:4E', 'AC:23:3F:C1:DC:CD'] (max_age_s=30.0) -2026-02-08T02:08:54.000Z MQTT connected rc=0, subscribed to publish_out/# -2026-02-08T02:08:59.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:09:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:09:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:09:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:09:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:09:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:09:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:10:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:10:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:10:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:10:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:10:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:10:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:11:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:11:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:11:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:11:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:11:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:11:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:12:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:12:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:12:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:12:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:12:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:12:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:13:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:13:15.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:13:25.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:13:35.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:13:45.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:13:55.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:14:05.000Z GW READY: online=16/16 (max_age_s=30.0) -2026-02-08T02:14:15.000Z GW READY: online=16/16 (max_age_s=30.0) +2026-02-09T04:00:17.000Z 🧪 Valore Fill (NaN): -110.0 +2026-02-09T04:00:17.000Z 📡 Primi 3 GW di riferimento: ['AC:23:3F:C1:DD:3C', 'AC:23:3F:C1:DD:49', 'AC:23:3F:C1:DC:EE'] +2026-02-09T04:00:17.000Z CYCLE: 0/12 localized +2026-02-09T04:00:18.000Z [1/16] ONLINE: ac:23:3f:c1:dd:3c +2026-02-09T04:00:18.000Z [2/16] ONLINE: ac:23:3f:c1:dd:48 +2026-02-09T04:00:18.000Z [3/16] ONLINE: ac:23:3f:c1:dc:cd +2026-02-09T04:00:18.000Z [4/16] ONLINE: ac:23:3f:c1:dd:55 +2026-02-09T04:00:18.000Z [5/16] ONLINE: ac:23:3f:c1:dd:4b +2026-02-09T04:00:18.000Z [6/16] ONLINE: ac:23:3f:c1:dd:4e +2026-02-09T04:00:18.000Z [7/16] ONLINE: ac:23:3f:c1:dc:d3 +2026-02-09T04:00:18.000Z [8/16] ONLINE: ac:23:3f:c1:dd:31 +2026-02-09T04:00:18.000Z [9/16] ONLINE: ac:23:3f:c1:dc:d1 +2026-02-09T04:00:18.000Z [10/16] ONLINE: ac:23:3f:c1:dc:cb +2026-02-09T04:00:18.000Z [11/16] ONLINE: ac:23:3f:c1:dd:51 +2026-02-09T04:00:18.000Z [12/16] ONLINE: ac:23:3f:c1:dd:49 +2026-02-09T04:00:18.000Z [13/16] ONLINE: ac:23:3f:c1:dd:40 +2026-02-09T04:00:18.000Z [14/16] ONLINE: ac:23:3f:c1:dc:d2 +2026-02-09T04:00:19.000Z [15/16] ONLINE: ac:23:3f:c1:dd:50 +2026-02-09T04:00:20.000Z [16/16] ONLINE: ac:23:3f:c1:dc:ee +2026-02-09T04:00:20.000Z Collector pronto. Monitoraggio directory Job... +2026-02-09T04:00:28.000Z CYCLE: 0/12 localized +2026-02-09T04:00:38.000Z CYCLE: 0/12 localized +2026-02-09T04:00:48.000Z CYCLE: 0/12 localized +2026-02-09T04:00:58.000Z CYCLE: 0/12 localized +2026-02-09T04:01:08.000Z CYCLE: 0/12 localized +2026-02-09T04:01:18.000Z CYCLE: 0/12 localized +2026-02-09T04:01:28.000Z CYCLE: 0/12 localized +2026-02-09T04:01:38.000Z CYCLE: 0/12 localized +2026-02-09T04:01:48.000Z CYCLE: 0/12 localized +2026-02-09T04:01:58.000Z CYCLE: 0/12 localized +2026-02-09T04:02:08.000Z CYCLE: 0/12 localized +2026-02-09T04:02:18.000Z CYCLE: 0/12 localized +2026-02-09T04:02:28.000Z CYCLE: 0/12 localized