A simply popup message box that can be triggered during coding or debugging, that can contain basic details such as the contents of a variable at that moment in time, or a message to allow the user to know that a particular even has been triggered.
For example, if you are writing a script containing multiple conditions, a message box can be triggered to show condition has been triggered, and what the various variables are at that exact moment in time.
If X=>1
Then MSGBox('The value of X is " & X)
Else
… whatever
For use in the bowser interface or app, rather than at automation runtime.
What you’re asking for, frontend control over the backend’s execution progress, involves substantial architectural considerations. I suggest you become comfortable with Persistent Notifications because implementing your FR is non-trivial.
Again, this is a general thing for any event and dismissing/acknowledging a notification should generate the event. Please give it a try, i haven’t tested myself
Be advised that the suggested Event Trigger (such as the one in that dusty old example of mine from September 2019) doesn’t know which persistent notification is being dismissed. Any dismissed persistent notification will trigger it.
To be more selective, I suggest you use the persistent_notification.create service call to create the notification because it lets you specify a value for notification_id. Then when you dismiss the notification, your Event Trigger should listen for the dismissal of a notification bearing the same value of notification_id. This way it will trigger only for the dismissal of the one desired notification.
To be clear, this still won’t give you a ‘popup’ but, like fuatakgun explained, it will give you a modicum of control over the pace of execution.
Be advised that the complete solution for creating notifications and listening for their dismissal will consist of far more lines of YAML then you may have anticipated. You may wish to consider building it as a script (that accepts passed variables) in order to simplify its use within your automation. Otherwise you’ll have to duplicate all those lines of code each time you want to display something from within your automation.