diff --git a/apps/counter/api/serializers.py b/apps/counter/api/serializers.py index 3b205ff..3b3bbcd 100644 --- a/apps/counter/api/serializers.py +++ b/apps/counter/api/serializers.py @@ -198,6 +198,7 @@ class DeviceCountWithInfoSerializer(DeviceCountSerializer): class DeviceInfoSerializer(serializers.ModelSerializer): device_name = serializers.SerializerMethodField() status = serializers.SerializerMethodField() + led_status = serializers.SerializerMethodField() count = serializers.SerializerMethodField() signal = serializers.SerializerMethodField() energy = serializers.SerializerMethodField() @@ -211,6 +212,7 @@ class DeviceInfoSerializer(serializers.ModelSerializer): 'device_name', 'chip_type', 'status', + 'led_status', 'count', 'signal', 'energy', @@ -247,6 +249,13 @@ class DeviceInfoSerializer(serializers.ModelSerializer): return obj.online + def get_led_status(self, obj): + # 区分一代和二代设备 + if obj.chip_type == 'AIR-V2': + if self.mosq_device_info and self.mosq_device_info.led_status is not None: + return self.mosq_device_info.led_status + return None + def get_count(self, obj) -> str: self.latest = get_device_latest_by_cache(obj.device_id)