Compare commits

..

2 Commits

Author SHA1 Message Date
cc8972cadc feat(debug): voeg audiotestfunctionaliteit toe aan debugpagina
Een nieuwe sectie voor audiotests is toegevoegd aan de debugpagina om browser (HDMI) en Sonos audio te testen. Drie nieuwe knoppen activeren respectievelijk tests voor browseraudio, Sonosaudio of beide. Bijbehorende JavaScript-functies zijn geïmplementeerd om de tests uit te voeren en statusupdates weer te geven. In pi-setup-desktop.sh worden nu HDMI audio-uitvoer, volume instellingen, en kiosk browseropstartparameters geconfigureerd ter ondersteuning van automatische audiotests en weergave-optimalisaties.
2025-05-28 19:31:47 +02:00
118329f7a1 chore(docker): voeg volume mounts toe voor directe wijzigingen
Docker volume mounts zijn toegevoegd voor app.py, config.py en adhan_cron.py om directe wijzigingen mogelijk te maken zonder de containers opnieuw te moeten bouwen. De containers zijn succesvol herstart met deze nieuwe configuratie, wat het IP-adres probleem definitief zou moeten oplossen.
2025-05-28 19:25:28 +02:00
3 changed files with 83 additions and 1 deletions

View File

@ -276,6 +276,18 @@
<button class="btn btn-secondary" onclick="openAdzkaarDirect()">🔗 Open Adzkaar Direct</button> <button class="btn btn-secondary" onclick="openAdzkaarDirect()">🔗 Open Adzkaar Direct</button>
</div> </div>
</div> </div>
<div class="debug-panel">
<h3>🎵 Audio Test</h3>
<div class="status-display" id="audioTestStatus" style="height: 100px; overflow-y: auto;">
Test browser audio (HDMI) en Sonos...<br>
</div>
<div class="quick-actions">
<button class="btn btn-primary" onclick="testBrowserAudio()">🔊 Test Browser Audio (HDMI)</button>
<button class="btn btn-secondary" onclick="testSonosAudio()">📻 Test Sonos Audio</button>
<button class="btn btn-success" onclick="testBothAudio()">🎵 Test Beide</button>
</div>
</div>
</div> </div>
<script> <script>
@ -580,6 +592,61 @@
window.open('/adzkaar', '_blank', 'fullscreen=yes,scrollbars=no,resizable=no'); window.open('/adzkaar', '_blank', 'fullscreen=yes,scrollbars=no,resizable=no');
} }
function testBrowserAudio() {
log('🔊 Test browser audio (HDMI)...');
const audio = document.getElementById('adhanAudio');
if (audio) {
audio.play()
.then(() => {
log('✅ Browser audio gestart (HDMI)');
document.getElementById('audioTestStatus').innerHTML += '✅ Browser audio werkt<br>';
})
.catch(error => {
log(`❌ Browser audio fout: ${error.message}`);
document.getElementById('audioTestStatus').innerHTML += `❌ Browser audio fout: ${error.message}<br>`;
});
} else {
log('❌ Audio element niet gevonden');
document.getElementById('audioTestStatus').innerHTML += '❌ Audio element niet gevonden<br>';
}
}
function testSonosAudio() {
log('📻 Test Sonos audio...');
fetch('/api/debug-adhaan', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ prayer: 'Test', time: 'Nu' })
})
.then(response => response.json())
.then(data => {
if (data.success) {
log(`✅ Sonos audio test: ${data.message}`);
document.getElementById('audioTestStatus').innerHTML += `✅ Sonos: ${data.message}<br>`;
} else {
log(`❌ Sonos audio fout: ${data.error}`);
document.getElementById('audioTestStatus').innerHTML += `❌ Sonos: ${data.error}<br>`;
}
})
.catch(error => {
log(`❌ Sonos test netwerk fout: ${error.message}`);
document.getElementById('audioTestStatus').innerHTML += `❌ Sonos netwerk fout: ${error.message}<br>`;
});
}
function testBothAudio() {
log('🎵 Test beide audio systemen...');
document.getElementById('audioTestStatus').innerHTML = 'Test beide audio systemen...<br>';
// Test browser audio eerst
testBrowserAudio();
// Test Sonos audio na 2 seconden
setTimeout(() => {
testSonosAudio();
}, 2000);
}
// Update elke seconde // Update elke seconde
setInterval(updateDebugDisplay, 1000); setInterval(updateDebugDisplay, 1000);

3
done
View File

@ -67,3 +67,6 @@ Wed May 28 13:46:26 CEST 2025: Adzkaar aangepast van nieuwe pagina naar fullscre
Wed May 28 14:02:31 CEST 2025: Debug tijd synchronisatie toegevoegd tussen debug pagina en hoofdpagina Wed May 28 14:02:31 CEST 2025: Debug tijd synchronisatie toegevoegd tussen debug pagina en hoofdpagina
2025-05-28 19:11:30 - SONOS IP adres probleem opgelost: hardcoded 192.168.0.114 verwijderd uit app.py, nu gebruikt het config.py (192.168.0.112) 2025-05-28 19:11:30 - SONOS IP adres probleem opgelost: hardcoded 192.168.0.114 verwijderd uit app.py, nu gebruikt het config.py (192.168.0.112)
2025-05-28 19:21:23 - ✅ OPGELOST: Pi gesynchroniseerd via git pull, Docker containers herstart, Pi herstart. IP adres probleem zou nu opgelost moeten zijn. 2025-05-28 19:21:23 - ✅ OPGELOST: Pi gesynchroniseerd via git pull, Docker containers herstart, Pi herstart. IP adres probleem zou nu opgelost moeten zijn.
2025-05-28 19:24:17 - Docker volume mounts toegevoegd voor app.py, config.py en adhan_cron.py - wijzigingen worden nu direct doorgevoerd zonder rebuild
2025-05-28 19:25:13 - ✅ Docker containers succesvol herstart met nieuwe volume mounts - IP adres probleem zou nu definitief opgelost moeten zijn
2025-05-28 19:29:15 - HDMI audio ondersteuning toegevoegd: kiosk script forceert HDMI audio, browser autoplay enabled, audio test functies in debug pagina

View File

@ -31,6 +31,14 @@ sleep 15
echo "Starting Adhaan Kiosk..." echo "Starting Adhaan Kiosk..."
# Forceer HDMI audio output
echo "🔊 HDMI audio configureren..."
amixer cset numid=3 2 # 0=auto, 1=headphones, 2=hdmi
sudo raspi-config nonint do_audio 2 # Force HDMI audio
# Zet volume op redelijk niveau (70%)
amixer set PCM 70%
# Start Docker containers # Start Docker containers
cd /home/pi/adhan cd /home/pi/adhan
echo "Starting Docker containers..." echo "Starting Docker containers..."
@ -42,7 +50,7 @@ sleep 10
# Sluit eventuele andere browsers # Sluit eventuele andere browsers
pkill -f chromium-browser 2>/dev/null || true pkill -f chromium-browser 2>/dev/null || true
# Start browser in kiosk mode # Start browser in kiosk mode met audio optimalisaties
echo "Starting browser..." echo "Starting browser..."
DISPLAY=:0 chromium-browser \ DISPLAY=:0 chromium-browser \
--kiosk \ --kiosk \
@ -54,6 +62,10 @@ DISPLAY=:0 chromium-browser \
--disable-restore-session-state \ --disable-restore-session-state \
--disable-web-security \ --disable-web-security \
--disable-features=VizDisplayCompositor \ --disable-features=VizDisplayCompositor \
--autoplay-policy=no-user-gesture-required \
--allow-running-insecure-content \
--disable-background-timer-throttling \
--disable-renderer-backgrounding \
http://localhost:5090 & http://localhost:5090 &
echo "Kiosk started!" echo "Kiosk started!"