Skip to content

Commit dd1c525

Browse files
n11ikNik Sauer
and
Nik Sauer
authored
added fallback for sensors in device detail view (#146)
Co-authored-by: Nik Sauer <[email protected]>
1 parent 1206955 commit dd1c525

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

app/devices/views.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,9 +142,16 @@ def get_context_data(self, **kwargs):
142142

143143
sensors = defaultdict(list)
144144
# add available sensors
145-
for measurement in Measurement.objects.filter(device=device, time_measured=device.last_update).all():
146-
for value in measurement.values.all():
147-
sensors[SensorModel.get_sensor_name(measurement.sensor_model)].append(Dimension.get_name(value.dimension))
145+
q = Measurement.objects.filter(device=device, time_measured=device.last_update).all()
146+
if not q:
147+
status = device.status_list.filter(sensor_list__isnull=False).latest('time_received')
148+
if status:
149+
for data in status.sensor_list:
150+
sensors[SensorModel.get_sensor_name(data['model_id'])].extend(Dimension.get_name(dim) for dim in data['dimension_list'])
151+
else:
152+
for measurement in q:
153+
for value in measurement.values.all():
154+
sensors[SensorModel.get_sensor_name(measurement.sensor_model)].append(Dimension.get_name(value.dimension))
148155

149156
context['sensors'] = dict(sensors)
150157

0 commit comments

Comments
 (0)