diff --git a/framework-core/src/main/java/me/hekr/iotos/softgateway/core/network/mqtt/MqttService.java b/framework-core/src/main/java/me/hekr/iotos/softgateway/core/network/mqtt/MqttService.java index b0fd1263efac09446dc064ff3dedad38a9c6e28e..b48a8aa62a29626fa24d778a5def44637e863a74 100644 --- a/framework-core/src/main/java/me/hekr/iotos/softgateway/core/network/mqtt/MqttService.java +++ b/framework-core/src/main/java/me/hekr/iotos/softgateway/core/network/mqtt/MqttService.java @@ -319,12 +319,12 @@ public class MqttService { if (!iotOsConfig.getGatewayConfig().getPk().equals(pk)) { DeviceRemoteConfig dev = DeviceRemoteConfig.getByPkAndDevId(pk, devId).get(); - if (klink instanceof DevLogin) { + if (klink instanceof DevLogin && dev.isOffline()) { dev.setOnline(); return; } - if (klink instanceof DevLogout && dev.isOffline()) { + if (klink instanceof DevLogout && dev.isOnline()) { dev.setOffline(); return; }