Squeezebox Modul - erste Version

Begonnen von bugster_de, 17 Dezember 2013, 22:12:10

Vorheriges Thema - Nächstes Thema

ChrisD

#885
Hallo,

Ich habe eine neue Version (0047) zum Testen veröffentlicht, Änderungen:

- Recall nach Pause korrigiert
- alte Google-TTS-Links automatisch anpassen
- Sprachcodes für VoiceRSS automatisch anpassen
- Reading und set für currentTrackPosition hinzugefügt

Zum Aktualisieren bitte
update all https://raw.githubusercontent.com/ChrisD70/FHEM-Modules/master/autoupdate/sb/controls_squeezebox.txt
verwenden.

@mrbeil: Ich habe ein reading für die gespielte Zeit in Sekunden hinzugefügt, ich habe dafür aber den Namen currentTrackPosition genommen da dieser auch im Sonos-Modul verwendet wird. Die Aktualisierung findet im Moment alle 5 Sekunden statt. Es ist jetzt auch möglich mit dem Befehl
set meinPlayer currentTrackPosition 120 an eine bestimmte Position zu springen.

Anbei findest du auch eine angepasste Version von 98_Text2SpeechSB mit den Patches von berrnd für svox-pico. Ich habe sie aber nicht testen können da ich svox-pico nicht installiert habe.

@Rince: Ich könnte SB_SERVER so anpassen dass du die Titelliste mit
get meinSBServer titlesabfragen könntest.

Grüße,

ChrisD

Edit: angehängte Version bitte nicht mehr verwenden

mrbreil

Vielen lieben Dank, das du das mit Zeit eingebaut hast.
Danke auch für die 98_Text2SpeechSB.pm, aber bei der hakt es irgendwie.
Bei deiner alten Version war bei mir kein TTS_CacheFileDir Attribut gesetzt und es funktionierte, alles landete in /opt/fhem/cache.
Mit der neuen Version SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playlist ARGS:add /opt/fhem/cache/cache/588265e9f177c73ed7ca9efb8575a358.mp3... sucht er die Datei im falschen Ordner.
Lege ich das Attribut fest TTS_CacheFileDir /opt/fhem/cache/ oder auch TTS_CacheFileDir /opt/fhem/cache
Sucht er die Datei in SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playlist ARGS:add /opt/fhem/cache/opt/fhem/cache/4c379eb867b163e116592f1fb0f7e0fc.mp3...

Die TTS Mp3 wird von Pico auch erstellt, kann sie auch auf meinem Desktop abspielen, auch über die Squeeze Clienten, wenn ich sie manuel einfüge.
Habe auch versucht in der 98_Text2SpeechSB.pm die Stelle zu finden in der die Ordner festgelegt werden, aber ich blicke da nicht ansatzweise durch, von daher wieder vielen Dank für deine Arbeit.
Bin mir nun nicht sicher ob ich falsch denke, oder etwas in dem Modul nicht stimmt.
Hier auch der Log, falls du das brauchst.
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playlist ARGS:load_done...
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:status ARGS:0 500 tags:Kcu player_name:Flur player_connected:1 player_ip:192.168.1.68:51409 power:1 signalstrength:0 mode:stop sync_master:74:da:38:1a:b1:3e sync_slaves:80:1f:02:f6:f7:1d mixer volume:80 playlist repeat:0 playlist shuffle:0 playlist mode:off seq_no:0 playlist_tracks:0...
2015.10.18 14:40:13 5: SB_PLAYER_ParsePlayerStatus(SB_PLAYER_74da381ab13e): data to parse: tags:Kcu player_name:Flur player_connected:1 player_ip:192.168.1.68:51409 power:1 signalstrength:0 mode:stop sync_master:74:da:38:1a:b1:3e sync_slaves:80:1f:02:f6:f7:1d mixervolume:80 playlistrepeat:0 playlistshuffle:0 playlistmode:off seq_no:0 playlist_tracks:0
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:alarms ARGS:0 200 tags:all filter:all fade:1 count:0...
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:alarmsEnabled 1...
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:alarmDefaultVolume 50...
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:prefset ARGS:server currentSong...
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:alarmTimeoutSeconds 3600...
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:alarmSnoozeSeconds 540...
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:syncVolume 0...
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playlist ARGS:name...
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:prefset ARGS:server currentSong...
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:duration ARGS:...
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:time ARGS:0...
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:mode ARGS:stop...
2015.10.18 14:40:13 5: SB_PLAYER_Parse(SB_PLAYER_74da381ab13e): mode:mode args:stop
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:play ARGS:...
2015.10.18 14:40:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:42:30 5: SB_PLAYER_Set: called with ?
2015.10.18 14:45:13 5: SB_PLAYER_GetStatus: called
2015.10.18 14:45:13 5: SB_PLAYER_GetStatus: leaving
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:artist ARGS:...
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:album ARGS:...
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:title ARGS:...
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playlist ARGS:url...
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:remote ARGS:...
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:status ARGS:0 500 tags:Kcu player_name:Flur player_connected:1 player_ip:192.168.1.68:51409 power:1 signalstrength:0 mode:stop sync_master:74:da:38:1a:b1:3e sync_slaves:80:1f:02:f6:f7:1d mixer volume:80 playlist repeat:0 playlist shuffle:0 playlist mode:off seq_no:0 playlist_tracks:0...
2015.10.18 14:45:13 5: SB_PLAYER_ParsePlayerStatus(SB_PLAYER_74da381ab13e): data to parse: tags:Kcu player_name:Flur player_connected:1 player_ip:192.168.1.68:51409 power:1 signalstrength:0 mode:stop sync_master:74:da:38:1a:b1:3e sync_slaves:80:1f:02:f6:f7:1d mixervolume:80 playlistrepeat:0 playlistshuffle:0 playlistmode:off seq_no:0 playlist_tracks:0
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:alarms ARGS:0 200 tags:all filter:all fade:1 count:0...
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:alarmsEnabled 1...
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:alarmDefaultVolume 50...
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:alarmTimeoutSeconds 3600...
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:alarmSnoozeSeconds 540...
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:syncVolume 0...
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playlist ARGS:name...
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:duration ARGS:...
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:time ARGS:0...
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:mode ARGS:stop...
2015.10.18 14:45:13 5: SB_PLAYER_Parse(SB_PLAYER_74da381ab13e): mode:mode args:stop
2015.10.18 14:45:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:46:24 5: SB_PLAYER_Set: called with ?
2015.10.18 14:50:12 5: SB_PLAYER_Set: called with ?
2015.10.18 14:50:13 5: SB_PLAYER_GetStatus: called
2015.10.18 14:50:13 5: SB_PLAYER_GetStatus: leaving
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:artist ARGS:...
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:album ARGS:...
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:title ARGS:...
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playlist ARGS:url...
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:remote ARGS:...
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:status ARGS:0 500 tags:Kcu player_name:Flur player_connected:1 player_ip:192.168.1.68:51409 power:1 signalstrength:0 mode:stop sync_master:74:da:38:1a:b1:3e sync_slaves:80:1f:02:f6:f7:1d mixer volume:80 playlist repeat:0 playlist shuffle:0 playlist mode:off seq_no:0 playlist_tracks:0...
2015.10.18 14:50:13 5: SB_PLAYER_ParsePlayerStatus(SB_PLAYER_74da381ab13e): data to parse: tags:Kcu player_name:Flur player_connected:1 player_ip:192.168.1.68:51409 power:1 signalstrength:0 mode:stop sync_master:74:da:38:1a:b1:3e sync_slaves:80:1f:02:f6:f7:1d mixervolume:80 playlistrepeat:0 playlistshuffle:0 playlistmode:off seq_no:0 playlist_tracks:0
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:alarms ARGS:0 200 tags:all filter:all fade:1 count:0...
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:alarmsEnabled 1...
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:alarmDefaultVolume 50...
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:alarmTimeoutSeconds 3600...
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:alarmSnoozeSeconds 540...
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:syncVolume 0...
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playlist ARGS:name...
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:duration ARGS:...
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:time ARGS:0...
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:mode ARGS:stop...
2015.10.18 14:50:13 5: SB_PLAYER_Parse(SB_PLAYER_74da381ab13e): mode:mode args:stop
2015.10.18 14:50:13 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:13 5: SB_PLAYER_Set: called with ?
2015.10.18 14:50:13 4: SB_PLAYER_Get: called with SB_PLAYER_74da381ab13e ?
2015.10.18 14:50:18 5: SB_PLAYER_Set: called with sayText
2015.10.18 14:50:18 5: SB_PLAYER_Set: called with ?
2015.10.18 14:50:18 4: SB_PLAYER_Get: called with SB_PLAYER_74da381ab13e ?
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playlist ARGS:repeat 0...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playlist ARGS:clear...
2015.10.18 14:50:18 5: SB_PLAYER_GetStatus: called
2015.10.18 14:50:18 5: SB_PLAYER_GetStatus: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:prefset ARGS:server currentSong...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:mixer ARGS:volume 80...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playlist ARGS:clear...
2015.10.18 14:50:18 5: SB_PLAYER_GetStatus: called
2015.10.18 14:50:18 5: SB_PLAYER_GetStatus: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playlist ARGS:add /opt/fhem/cache/opt/fhem/cache/f9522daf826c1bca611e7974d129edaf.mp3...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:mode ARGS:stop...
2015.10.18 14:50:18 5: SB_PLAYER_Parse(SB_PLAYER_74da381ab13e): mode:mode args:stop
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:artist ARGS:...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:album ARGS:...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:title ARGS:...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playlist ARGS:url...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:remote ARGS:...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playlist ARGS:load_done...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:status ARGS:0 500 tags:Kcu player_name:Flur player_connected:1 player_ip:192.168.1.68:51409 power:1 signalstrength:0 mode:stop sync_master:74:da:38:1a:b1:3e sync_slaves:80:1f:02:f6:f7:1d mixer volume:80 playlist repeat:0 playlist shuffle:0 playlist mode:off seq_no:0 playlist_tracks:0...
2015.10.18 14:50:18 5: SB_PLAYER_ParsePlayerStatus(SB_PLAYER_74da381ab13e): data to parse: tags:Kcu player_name:Flur player_connected:1 player_ip:192.168.1.68:51409 power:1 signalstrength:0 mode:stop sync_master:74:da:38:1a:b1:3e sync_slaves:80:1f:02:f6:f7:1d mixervolume:80 playlistrepeat:0 playlistshuffle:0 playlistmode:off seq_no:0 playlist_tracks:0
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:alarms ARGS:0 200 tags:all filter:all fade:1 count:0...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:alarmsEnabled 1...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:alarmDefaultVolume 50...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:prefset ARGS:server currentSong...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:alarmTimeoutSeconds 3600...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:alarmSnoozeSeconds 540...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playerpref ARGS:syncVolume 0...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:playlist ARGS:name...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:prefset ARGS:server currentSong...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:duration ARGS:...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:time ARGS:0...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:mode ARGS:stop...
2015.10.18 14:50:18 5: SB_PLAYER_Parse(SB_PLAYER_74da381ab13e): mode:mode args:stop
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e CMD:play ARGS:...
2015.10.18 14:50:18 5: SB_PLAYER_Parse: SB_PLAYER_74da381ab13e: leaving


Ich blicke da im Gegensatz zu dir wie gesagt nicht durch, hoffe ich konnte dich mit allen Infos, die du benötigst versorgen.
Wenn du noch was brauchst, lass es mich wissen. Nochmals vielen Dank

ChrisD

Hallo,

Hier eine weitere Version zum Testen.

Grüße,

ChrisD

kvo1

#888
Zitat von: Rince am 18 Oktober 2015, 10:24:41
Ich hätte auch noch nen Wunsch, aber vermutlich wird das nix:

Habe in fhemweb ein frame, mit dem ich durch die Musiksammlung navigiere.
Klappt so auch ganz ok.

Nun will ich für meine Kiddies eine Musikbox basteln, am besten so mit echten Tastern und Drehreglern dran.
Da kann ich nicht einfach ein frame auf nem Display anzeigen.
Ich bräuchte die Titel aus der Datenbank ausgelesen, so dass ich sie quasi als Text zur Verfügung habe.

Hat da wer ne Idee?

Hallo Rince,
Das mit dem Frame für die Musiksammlung würd mich interessieren. Würdest du das ggf. Ansatzweise kurz Posten.

Danke
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

mrbreil

ChrisD der Titel "Held des Tages" geht heute an dich, wieder einmal.
Funktioniert prächtig!!!!
Vielen Dank. Schönes Restwochenende.

Rince

#890
@kvo1
http://fhem.de/commandref.html#weblink

iframe http://192.168.5.31:9000/clixmlbrowser/clicmd=browselibrary+items&linktitle=BROWSE_MUSIC_FOLDER&mode=bmf/index.html?mode=bmf&index=0.0.0&player=e8%3A4e%3A06%3A11%3Ab8%3A29&sess=
Das ganze Graffel nach dem iframe ist lediglich ein Copy&Paste von rechter Maustaste auf ein freigegebenes Verzeichnis vom LMS


Hier noch ein list
ZitatInternals:
   DEF        iframe http://192.168.5.31:9000/clixmlbrowser/clicmd=browselibrary+items&linktitle=BROWSE_MUSIC_FOLDER&mode=bmf/index.html?mode=bmf&index=0.0.0&player=e8%3A4e%3A06%3A11%3Ab8%3A29&sess=
   LINK       http://192.168.5.31:9000/clixmlbrowser/clicmd=browselibrary+items&linktitle=BROWSE_MUSIC_FOLDER&mode=bmf/index.html?mode=bmf&index=0.0.0&player=e8%3A4e%3A06%3A11%3Ab8%3A29&sess=
   NAME       LMS_Bibi_und_Tina
   NR         352
   STATE      initialized
   TYPE       weblink
   WLTYPE     iframe
Attributes:
   htmlattr   width="400" height="800"
   room       Gallerie


@ChrisD
Bin mir nur icht sicher, ob das zum Ziel führt. Tschuldigung. Kann aber meine Schusseligkeit sein :)
Die ganze Titellist ist vermutlich ziemlich lang, bzw. quasi ne 1:1 Kopie der LMS Datenbank, oder?

Können wir das kurz per PN besprechen?
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

kvo1

RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Rince

Was ist  :-[ ?
Klappt was nicht?


Was mir grade auffällt:

Irgend etwas läuft da falsch bei mir:

currentTitle http://translate.google.com/translate_tts?ie=UTF-8&client=t&prev=input&tl=de&q=Die+Haustuere+ist+seit+5+Minuten+offen.


Jetzt trete ich einen neuen Befehl los:

set cubie_SB_PLAYER sayText Hallo


Leider ändert sich an den Readings nix, und hören tu ich auch nix...

currentTitle http://translate.google.com/translate_tts?ie=UTF-8&client=t&prev=input&tl=de&q=Die+Haustuere+ist+seit+5+Minuten+offen.


???



Attributes:
   IODev      SqueezeBoxServer
   amplifier  play
   coverartheight 50
   coverartwidth 50
   donotnotify true
   fadeinsecs 10
   idismac    true
   room       SB_PLAYER
   serverautoon true
   ttsOptions ignoreVolumelimit
   ttsVolume  100
   ttslanguage de
   ttslink    http://translate.google.com/translate_tts?ie=UTF-8&client=t&prev=input
   volumeLimit 100
   volumeStep 10


Ist da was falsch?
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

kvo1

@Rince,

alles bestens, da hätte ich selbst drauf kommen können !
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

Tobias

Wenn ihr das TTS Modul getestet habt bitte mit them originalThread abstimmen (http://forum.fhem.de/index.php/topic,18481.555/topicseen.html)
Ich übernehme gerne getestete und dokumentierte Erweiterungen !!!!
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

ChrisD

Hallo,

@Rince: Eventuell ist bei der 1. Ausgabe ein Problem aufgetreten wodurch das Modul hängengeblieben ist. Du kannst den Zustand im Reading 'talkStatus' sehen. Der 2. Text wurde, da noch eine Ausgabe aktiv war, zwischengespeichert und wäre nach Ende des 1. Textes ausgegeben worden. Du kannst mit dem Befehl
set cubie_SB_PLAYER resetTTSdie Ausgabe komplett abbrechen und das Modul wieder in einen definierten Zustand bringen. Ein Auszug aus dem Log wäre hilfreich um zu erkennen was genau passiert ist und darauf zu reagieren.

@Tobias: Ich habe einige Änderungen am Text2Speech-Modul vorgenommen um es testweise mit dem LMS zu verbinden. Die Anbindung ist aber nicht ganz sauber da ich vom SB_Player-Modul aus direkt auf die interne Struktur des Text2Speech-Moduls zugreife. Die Anbindung hat auch einige Nachteile und Einschränkungen so dass ich das Modul selbst nicht mehr nutze. Ich habe mir ein Plugin für den LMS geschrieben welches SVOX Pico verwendet um die Sprachausgabe direkt auf dem LMS zu machen. Wenn du eine neue Version des Moduls mit den Änderungen von berrnd ins SVN setzt kann ich dir aber ein Diff schicken.

Grüße,

ChrisD

Rince

#896
Danke.
Auf das Logfile hätte ich selber kommen können :)

503 :(


Mit folgendem TTS Link
Zitathttp://translate.google.com/translate_tts?ie=UTF-8&client=t&prev=input


Edit:
Neue IP-Adresse, und es geht wieder für ne Weile...
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Rince

Zitat@Tobias: Ich habe einige Änderungen am Text2Speech-Modul vorgenommen um es testweise mit dem LMS zu verbinden. Die Anbindung ist aber nicht ganz sauber da ich vom SB_Player-Modul aus direkt auf die interne Struktur des Text2Speech-Moduls zugreife. Die Anbindung hat auch einige Nachteile und Einschränkungen so dass ich das Modul selbst nicht mehr nutze. Ich habe mir ein Plugin für den LMS geschrieben welches SVOX Pico verwendet um die Sprachausgabe direkt auf dem LMS zu machen. Wenn du eine neue Version des Moduls mit den Änderungen von berrnd ins SVN setzt kann ich dir aber ein Diff schicken.

@Tobias, ChrisD
Entschuldigung, wenn ich mich hier einmische:
Imho wäre es schlau, wenn wir für jede TTS Quelle genau 1 Modul verwendeten, für die akustische Wiedergabe wiederum ein anderes.

@Chris
Wenn du dich für TTS nur um die Prüfsumme des Textes kümmern würdest, ebenso wie um das erhalten des fertigen MP3 Files... (nachdem Textsegmente, zusätzliche MP3s am Anfang / Ende / Mittendrin fertig zu einem MP3 zusammengebaut wären =>dieses fertige MP3 speicherst und die Prüfsumme an das aufrufende Modul sedest
@Tobias
Wenn du lediglich den Text mit evtl. gewünschten MP3s an Tobias sein Modul schicktest, Tobias dir eine Prüfsummme.MP3 als Dateiname zurück sendet, du dann lediglich dieses MP3 als neue Playlist nähmest (alte Playlist speichern, neues MP3 abspielen, alte Playlist restaurieren)
@Chris
Das Abspielen vom MP3 Files (in deinem Modul also den mplayer Aufruf) in ein eigenes Modul  auslagerst



Wenn wir uns dann uns noch einen Syntax überlegen, die wie folgt aussehen könnte:
<Sprachsynthesemodul> <Sprachausgabemodul> Text, der gesprochen werden soll

Tobias_TTS_Von_Google_TTS Chris_SB_Player_1 Hallo, der Text wird durch das TTS Modul von Tobias mit Hilfe von Google in ein MP3 File umgewandelt und gecached. Der Dateiname ist eine Prüfsumme, die jetzt an das Modul Chris_SB_Player_1 zurück gemeldet wird. Letzteres ist für das in Schall umwandeln verantwortlich.

Anderes Beispiel:
Tobias_TTS_Von_Google_TTS Tobias_mplayer Hallo, der Text wird durch das TTS Modul von Tobias mit Hilfe von Google in ein MP3 File umgewandelt und gecached. Der Dateiname ist eine Prüfsumme, die jetzt an das Modul Tobias_mplayer zurück gemeldet wird. Letzteres ist für das in Schall umwandeln verantwortlich.


Noch ein anderes Beispiel:
espeak_TTS_Von_lokaler_Festplatte Tobias_mplayer Hallo, der Text wird durch ein lokales espeak Modul von Irgendwem der espeak einfach eine mp3 entlocken kann in einem MP3 File gespeichert und gecached. Der Dateiname ist eine Prüfsumme, die jetzt an das Modul Tobias_mplayer zurück gemeldet wird. Letzteres ist für das in Schall umwandeln verantwortlich.



Vorteil:
Klare Trennung zwischen Sprachsynthese und akustischer Wiedergabe.
Letztlich könnten wir so sehr schnell alternative TTS Engines integrieren. Völlig egal ob Webservice, oder lokal installiertes Programm. Jede Instanz des Synthese-Moduls kennt nur 1 Quelle für die Erzeugung. Das macht zum einen die Wartung leichter, zum anderen die Integration einer weiteren TTS Quelle. Braucht nur das Rumpfmodul angepasst und neu definiert.
Dadurch, dass nur die Prüfsumme eines fertigen (also mit evtl. zusätzlich beinhalteten MP3s) wiedergegeben wird, muss sich das jeweilige Sprachausgabemodul nur noch darum kümmern, den richtigen Dateinamen zurück zu bekommen und dann das eigene Lautsprechersystem entsprechend zu füttern. Ob das jetzt der lokale mplayer ist, ein bestimmter SB-Player, oder eine SB-SyncGruppe...


Versteht ihr, was ich meine?
Wer zu meinen Posts eine Frage schreibt und auf eine Antwort wartet, ist hiermit herzlich eingeladen mich per PN darauf aufmerksam zu machen. (Bitte mit Link zum betreffenden Thread)

Tobias

@chrisD: Was hast du angepasst gegenüber dem aktuellen SVN Stand?
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

ChrisD

Hallo,

@Tobias: Ich habe (vereinfacht gesagt) Code hinzugefügt um ein virtuelles ALSA-Device SB_PLAYER zu unterstützen. Ich habe mir die Version 9710 aus dem SVN angeschaut und festgestellt dass diese weder das Attribut playing noch die Ergänzungen von berrnd (SVOX-Pico) enthält. Da meine aktuelle Version darauf aufbaut ist es schwierig ein Diff zu machen. Hast du vor diese Ergänzungen noch einzupflegen ?

@Rince: Es wäre sinnvoll die TTS-Erzeugung und Ausgabe zu trennen. Ich muss mir aber noch Gedanken machen wie das praktisch gelöst werden soll. Ein Möglichkeit wäre ein zentrales TTS-Modul zu erstellen welches sich um das Organisieren und Verwalten der MP3s kümmert (mit diversen Queues). Sollte das Modul feststellen dass für einen Text kein MP3 vorliegt könnte es auf Provider-spezifische Module zurückgreifen, eventuell mit Fallback falls ein Dienst nicht verfügbar ist. Das Player-Modul würde seine Anfrage an das TTS-Modul senden und dieses sich um den Rest kümmern.

Grüße,

ChrisD