This may be possible with recent plugin + grafana versions.
There is a "display name" field on some of the panel configs.
This field is templated and if you enable the "meta as labels" option, all meta data should be accessible through the template.
I do not remember how to access them right off the bat, but it's worth looking more into.
Edit:
I managed to name the series after device_id by using
${__field.labels["device_id"]} in the display name.
You could combine several labels and static text in the display name field.