Script repeat siren sound

Your repeat is designed to exit when the state of the alarm panel is disarmed. According to the “Step Details”, it got the value it wants (disarmed) after just one iteration of repeat.

ity_id/0
result: true
state: disarmed
wanted_state: disarmed

Having the complete trace file would be better. Just copy-paste it and ensure its formatting is maintained. Refer to FAQ Guideline 11 - Format it properly.