diff --git a/repeater/sensors/openhop_modem.py b/repeater/sensors/openhop_modem.py index ea299f1..866f043 100644 --- a/repeater/sensors/openhop_modem.py +++ b/repeater/sensors/openhop_modem.py @@ -162,7 +162,9 @@ class OpenHopModemSensor(SensorBase): "network_live": self._bool_or_none(network.get("live")), "network_current_ip": network.get("current_ip"), "tcp_port": self._int(network.get("tcp_port")), - "token_configured": self._bool_or_none(network.get("pymc_token_set")), + "token_configured": self._bool_or_none( + network.get("token_set", network.get("pymc_token_set")) + ), "gps_available": self._bool_or_none(gps.get("available")), "gps_enabled": self._bool_or_none(gps.get("enabled")), "gps_seen": self._bool_or_none(gps.get("seen")), diff --git a/tests/test_openhop_modem_sensor.py b/tests/test_openhop_modem_sensor.py index 1132b3b..be2f2c9 100644 --- a/tests/test_openhop_modem_sensor.py +++ b/tests/test_openhop_modem_sensor.py @@ -62,7 +62,7 @@ def test_openhop_modem_sensor_exposes_full_flat_diagnostics(monkeypatch): "live": True, "current_ip": "192.0.2.10", "tcp_port": 5055, - "pymc_token_set": True, + "token_set": True, }, "gps": { "available": True, @@ -129,6 +129,14 @@ def test_openhop_modem_sensor_exposes_full_flat_diagnostics(monkeypatch): assert data["solar_charge_rate_percent_per_hour"] == 4.5 +def test_openhop_modem_sensor_accepts_legacy_token_flag(): + sensor = OpenHopModemSensor("modem", {"settings": {"base_url": "http://openhop-modem.local"}}) + + data = sensor._normalize_payload({"network": {"pymc_token_set": True}}) + + assert data["token_configured"] is True + + def test_legacy_pymc_modem_module_and_registry_create_canonical_sensor(): assert PymcModemSensor is OpenHopModemSensor legacy = SensorRegistry.create(