I don’t quite understand why you’re polling the lock Api’s status every 5 seconds (that might be a good way to get yourself rate limited), but I can see why you might do that in a testing context. (Obviously, you would probably not want to do that in production.)
I assume that perhaps you are trying to conveniently assess whether you can detect the lock being operated by some other means, correct?
At any rate, what you may have to do here, to force your group to re-evaluate the conditions on that text element is to send reset data to the group after Step 2 (set status/retrieve from api):
Here’s what may be happening with the API call: I’m not sure if this is 100% correct, but some have observed that, if an API call is made sequentially with the same exact parameters it can sort of act like the results of the call are cached.
(That is, Group API Call’s Status is not actually being reset as the value being returned is either (a) exactly the same as API Call’s state state and hence there is no need for bubble to actually update the value or (b) the parameters you are sending to Nuki - API Call are identical to the last call and so it is assumed that the results of the call would be the same and, again, the resulting return value is not updated [that is, the call truly is "cached].)
My own observations, from writing my own API endpoints and pinging them via Bubble, is that sequential repeated API calls are in fact made. However, if the values coming back are identical there’s no point in Bubble actually doing the data write as no value has changed, right? (So what I’m saying is that I believe what happens is “case (a)” not “case (b)”.)
At any rate, sending reset to the group as I suggest will likely result in the behavior you are expecting.
But another way to do it would be to go back into your API call and reconfigure it such that the call always results in different values coming back. One way to do this, for example, is to reinitialize your call and capture response HEADERS. One of those headers will be something like the response time when the result came back. This value will of course be unique and always changing. (Select that value as a parameter to return, don’t ignore it.)
Here’s an example: Note “headers date”:
You may have to further retrieve that value in your page. For example, don’t just set Group API Call’s Status, but also set something like Group API Call’s headers date.
Anyway, that’s a rather long-winded explanation for what you may be observing.