racarter wrote:The only setErrorStateOnServer statement is the one that sets it to “Error”. There are no others - I have them commented out. Is there any other call which could reset the error state?
Yes, any subsequent device update will reset the error state.
From the documentation for
updateStateOnServer(key='keyName', value='Value', clearErrorState=True):
Use this method to update the value of one of your device's states on the server. The server will propagate the change out to any connected clients and fire any triggers that are defined on that state. Pass “true” (default) or “false” on the clearErrorState parameter (not required) to have the error state of the device (set with setErrorStateOnServer above) cleared.