Díky za rady. Přikládám řešení, třeba se někomu může někdy hodit.
let previousBooleanValue = GetTagValueAsBoolean('ExtWarn');
let audioStarted = false;
function playAudio() {
const audio = new Audio('xxx.mp3');
audio.play();
audioStarted = true;
}
setInterval(() => {
const myBooleanValue = GetTagValueAsBoolean('ExtWarn');
if (myBooleanValue && !previousBooleanValue && !audioStarted) {
playAudio();
}
if (!myBooleanValue) {
audioStarted = false;
}
previousBooleanValue = myBooleanValue;
}, 10000);