The asset status page is broken on main for some assets (it works on 0.31.x) for assets with sensors_to_show. This is currently a yet unreleased regression on main, risking to seep into v0.32.0. I am not sure which formats of sensors_to_show are affected, but my hunch is a regression from #1904 is at play here (possibly related: #2017 (comment)).
Traceback:
server-1 | [FLEXMEASURES][2026-04-13 12:59:12,634] ERROR: KeyError - URL was: /assets/634/status - "'sensors'" [occurred at /app/flexmeasures/data/services/sensors.py (in get_asset_sensors_metadata, line 300)
server-1 | Traceback (most recent call last):
server-1 | File "/usr/local/lib/python3.12/dist-packages/flask/app.py", line 917, in full_dispatch_request
server-1 | rv = self.dispatch_request()
server-1 | ^^^^^^^^^^^^^^^^^^^^^^^
server-1 | File "/usr/local/lib/python3.12/dist-packages/flask/app.py", line 902, in dispatch_request
server-1 | return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
server-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
server-1 | File "/usr/local/lib/python3.12/dist-packages/flask_classful.py", line 303, in proxy
server-1 | response = view(**request.view_args)
server-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^
server-1 | File "/usr/local/lib/python3.12/dist-packages/flask_classful.py", line 271, in inner
server-1 | return fn(*args, **kwargs)
server-1 | ^^^^^^^^^^^^^^^^^^^
server-1 | File "/usr/local/lib/python3.12/dist-packages/flask_login/utils.py", line 290, in decorated_view
server-1 | return current_app.ensure_sync(func)(*args, **kwargs)
server-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
server-1 | File "/app/flexmeasures/ui/views/assets/views.py", line 226, in status
server-1 | status_data = get_asset_sensors_metadata(asset)
server-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
server-1 | File "/app/flexmeasures/data/services/sensors.py", line 300, in get_asset_sensors_metadata
server-1 | sensor["sensors"] for sensor in validated_asset_sensors if sensor is not None
server-1 | ~~~~~~^^^^^^^^^^^
server-1 | KeyError: 'sensors'
Relevant data:
id | name | latitude | longitude | generic_asset_type_id | account_id | attributes | parent_asset_id | sensors_to_show | flex_context | flex_model | sensors_to_show_as_kpis | external_id
-----+--------+----------+-----------+-----------------------+------------+------------+-----------------+------------------------------------------------------------------------------------------------+--------------------------------------+--------------------------------+-------------------------+-------------
634 | My CEM | 0 | 0 | 6 | 1 | {} | | [{"title": "State of charge", "sensors": [713, 714, 711]}, {"title": "Prices", "sensor": 709}] | {"inflexible-device-sensors": [717]} | {"power-capacity": "17250 VA"} | [] |
(1 row)
The asset status page is broken on
mainfor some assets (it works on0.31.x) for assets withsensors_to_show. This is currently a yet unreleased regression on main, risking to seep into v0.32.0. I am not sure which formats ofsensors_to_showare affected, but my hunch is a regression from #1904 is at play here (possibly related: #2017 (comment)).Traceback:
Relevant data: