Since it seems we can't pull uniquely identifiable information from the INFO packet, perhaps one way of fixing this would be to pass the panel IP address, or any other customizeable field in apps.yaml, to uniquely identify the discovered entities and bring them under one device.
This would make entities much easier to manage; all reported sensors would have the device: payload with all the parent panel's information. Paradox Alarm Interface (PAI) and many other MQTT integrations are using this.
Example of a discovered binary_sensor under PAI (pay attention to the "device" section):
Since it seems we can't pull uniquely identifiable information from the INFO packet, perhaps one way of fixing this would be to pass the panel IP address, or any other customizeable field in apps.yaml, to uniquely identify the discovered entities and bring them under one device.
This would make entities much easier to manage; all reported sensors would have the device: payload with all the parent panel's information. Paradox Alarm Interface (PAI) and many other MQTT integrations are using this.
Example of a discovered binary_sensor under PAI (pay attention to the "device" section):