Hello @Aurovind Sagar Epari ,
there are many ways to build an IoT solution, the one you describe is a following a very common pattern. One of the big advantages of adding ASA to it is that you can easily integrate alerting because you have control over the live stream.
If you put the (transformed) data in a database first, before you query it using PowerBI, you have more control over the data. For example, an alternative is using Azure Data Explorer (there is even a free version available to try it out).
Put your dashboards on top of that database.
Regarding the device state, you need to ingest non-telemetry messages from the IoT Hub and store them along with your ingested telemetry.
Regarding the real-time dashboard, you could also think about using Managed Grafana.
I recommend trying to keep some flexibility (eg. using the Stream Analytics job) so you can learn and change the logic without too much impact.
Because you have 'tons of sensors data', try to calculate the usage/ cost impact. Keep an eye on the load of your services.
You can always migrate towards custom logic in eg. Azure Functions if needed.
If the response helped, do "Accept Answer". If it doesn't work, please let us know the progress. All community members with similar issues will benefit by doing so. Your contribution is highly appreciated.