I have an automation set up for shades to automatically open and close at various points in the day, i.e. open in the morning, close partially mid-day, open early evening when the sun is low, close at sunset, but I've been having issues with missed commands and some shades not responding.
Right now the automation runs once entirely on time triggers, is there a preferred best practice for evaluating if each step completes successfully and if not repeating and re-running to ensure the devices which missed commands go to their assigned setting?
I had a similar issue with z-wave blinds. They would miss the command; however, Hubitat thought they were in the correct position. I wrote this rule which has not failed me yet. It makes 10 attempts at opening/closing the blinds according to a virtual switch on=open, off=closed. I can change the local variables for postion_open and postion_closed without changing the rule to meet my preferences. The rule changes the value of the positions by 1 degree (plus or minus) each time through the loop so that if the blinds motor or Hubitat thought thinks it is in the correct position, it will be forced to a new position and not ignore the request. The one degree is not noticeable. You may find a better solution, but this works for me.
To monitor what commands were sent, you could either enable all logging on the rule. You could also add actions to write information in the log. If you want instant notification of what was sent, a notification could be sent to the phone.
To see what is happening on the devices, logging could be enabled for them, or a rule could be created to notify you of when their state changes.
You may want to consider investing in repeaters as this could be a cause for the missed events.
Retries as indicated by @Teraflop above are a good workaround. I do this as well for one of my devices that is unreliable, and haven’t had an issue since.