Sonosspeak

Begonnen von omnior, 01 September 2017, 11:47:12

Vorheriges Thema - Nächstes Thema

omnior

Seit einiger Zeit klappt einiges bei meinem vorher funktionierenden Sonos nicht mehr.
Wenn ich ein set Sonos_Kueche Speak 40 de Hallo
absetze, so wird nix abgespielt und ich erhalte im Log die Ausgabe:
SONOSPLAYER Sonos_Kueche LastActionResult: PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
Jemand eine Idee wo ich hier suchen sollte, bzw. was das Problem sein könnte?

omnior

was mir noch auffällt, und da bin ich nicht sicher ob das richtig ist: im SonosSpeak Verzeichnis werden alle Ausgabedateien abgespeichert mit den Rechten 644. Eventuell reicht das nicht? Das Verzeichnis selber steht auf 777

Reinerlein

Hi Omnior,

hast du mal geprüft, ob die Freigabe als solches überhaupt noch funktioniert?
Also z.B. mit einem Windowsrechner zugreifen, und die Datei mal abspielen...

Grüße
Reiner

omnior

Danke Rainer, hier könnte tatsächlich das Problem liegen. Ich hatte nämlich vorher den Zugriff direkt mit selbstgemachtem Zertifikat und nun vor einiger Zeit geändert auf Letsencrypt mit einem für diese Authentifizierung davorliegendem apache.

Wenn ich also jetzt die Freigabe raspberrypi:8085\opt\fhem\SonosSpeak am Windows Rechner aufrufe, werde ich sofort auf die Standard fhem Seite raspberrypi:8085/fhem weitergeleitet.

Wenn das das Problem ist, wie kann ich das denn umgehen?

Reinerlein

Hi Omnior,

nee, das ist der Webzugriff auf FHEM :)

Die Datei-Freigabe ist eine Samba-Freigabe (vermutlich), auf die du von einem Windowsrechner z.B. mittels

\\IPDESFHEMRECHNERS\FREIGABENAME
.
.
\\192.168.0.5\SonosSpeak
zugreifen kannst.

Grüße
Reiner

omnior

Also eigentlich ist die Freigabe m.E. eingerichtet. In der smb.conf steht nämlich:
[SonosSpeak]
  comment = Audio-Filesfor SonosPlayer to Speak
  read only = false
  path = /opt/fhem/SonosSpeak
  guest ok = yes


im Browser oder Explorer komme ich mit dieser Freigabe //raspberrypi/SonosSpeak/ auf das Verzeichnis und sehe die ganzen abgespeicherten Rincon...mp3 files

Reinerlein

Hi Omnior,

das ist doch schonmal gut. Dann solltest du jetzt doch die Konfiguration in Fhem prüfen, irgendwas muss sich ja geändert haben...

Grüße
Reiner

omnior

Hallo Reiner, naja, gut ;) bin ja noch überhaupt nicht weitergekommen. Ich prüfe und versuche seit gut zwei Wochen mit diversen Sonos ModulEinstellungen herum und komme selber eben nicht mehr weiter.
Es wäre hilfreich wenn ich aufgrund der ursprünglich geposteten Fehlermeldung einen Hinweis darauf bekommen könnte, was ich noch überprüfen sollte oder könnte.

Reinerlein

Hi Omnior,

den 701er Fehler gibt der Player immer dann zurück, wenn er etwas nicht durchführen kann.
Das ist nicht weiter hilfreich, nur insofern, dass sozusagen absichtlich keine Wiedergabe am Player erfolgt.

Deswegen tippe ich auf ein Konfigurationsproblem...
Daher wäre es gut, wenn du mal ein List vom Sonos-Device posten könntest.

Grüße
Reiner

omnior

Hallo Reiner, ja klar, mach ich. Welche wären denn wichtig? Die readings sind ja riesig groß, reichen die Internals und Attribute? Das Sonos Device und auch ein Sonos Player?

Reinerlein

Hi Omnior,

im ersten Schritt reichen erstmal nur die Attribute des Sonos-Devices. Mal schauen, ob man da schon was sieht...

Grüße
Reiner

omnior

das Sonos Device:
defmod Sonos SONOS
attr Sonos Speak1 1
attr Sonos getRadiosListAtNewVersion 1
attr Sonos room 1.2_Wohnzimmer,9.6.4_Sonos
attr Sonos targetSpeakDir /opt/fhem/SonosSpeak
attr Sonos targetSpeakFileTimestamp 1
attr Sonos targetSpeakMP3FileDir /opt/fhem/SonosSpeak
attr Sonos targetSpeakURL \\raspberrypi:8085\opt\fhem\SonosSpeak
attr Sonos verbose 0


und der Player in der Küche:
defmod Sonos_Kueche SONOSPLAYER RINCON_5CAAFD286E4601400_MR
attr Sonos_Kueche alias Küche
attr Sonos_Kueche generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
attr Sonos_Kueche generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
attr Sonos_Kueche generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
attr Sonos_Kueche generateVolumeSlider 1
attr Sonos_Kueche getAlarms 1
attr Sonos_Kueche group Kueche
attr Sonos_Kueche icon icoSONOSPLAYER_icon-S1.png
attr Sonos_Kueche minVolume 0
attr Sonos_Kueche model Sonos_S1
attr Sonos_Kueche room 1.1_Küche,9.6.4_Sonos
attr Sonos_Kueche sortby 1
attr Sonos_Kueche stateVariable Presence
attr Sonos_Kueche userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal("Sonos_Kueche", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal("Sonos_Kueche", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal("Sonos_Kueche", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal("Sonos_Kueche", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }

Reinerlein

Hi Omnior,

schon gefunden :)

Das Attribut targetSpeakURL sollte so aussehen:

attr Sonos targetSpeakURL \\raspberrypi\SonosSpeak
Dort muss immer das stehen, was du z.B. auch auf einem Windowsrechner eingeben müsstest, um die Dateien erreichen zu können...

Nachdem du das Attribut gesetzt hast, muss der SubProzess neugestartet werden. Dazu kurz das Attribut "disable" am Sonosdevice auf 1 setzen, kurz warten (damit sich alles sauber beenden kann), und einfach wieder löschen...

Grüße
Reiner

Reinerlein

Ach ja: das Attribut "Speak1" kannst du löschen. Dort würde die Konfiguration eines lokalen Sprachsynthesizers stehen...

omnior

Leider ändert sich aber am Fehler nix, es erscheint immer, egal ob ich
2017-09-01 21:06:52 Global global ATTR Sonos targetSpeakURL \\raspberrypi\SonosSpeak[/code]
oder
2017-09-01 21:03:38 Global global ATTR Sonos targetSpeakURL \\raspberrypi:8085\SonosSpeak
eingebe, e erscheint immer:

2017-09-01 21:07:13 SONOSPLAYER Sonos_Kueche LastActionResult: PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
2017-09-01 21:07:13 SONOS Sonos LastProcessAnswer: 2017-09-01 21:07:13
2017-09-01 21:07:13 SONOSPLAYER Sonos_Kueche currentTrackURI: //raspberrypi:8085/opt/fhem/SonosSpeak/RINCON_5CAAFD286E4601400_MR_Speak_20170901-210708.mp3
2017-09-01 21:07:13 SONOSPLAYER Sonos_Kueche currentTrackHandle: //raspberrypi:8085/opt/fhem/SonosSpeak/RINCON_5CAAFD286E4601400_MR_Speak_20170901-210708.mp3|x-file-cifs://raspberrypi:8085/opt/fhem/SonosSpeak/RINCON_5CAAFD286E4601400_MR_Speak_20170901-210708.mp3RINCON_5CAAFD286E4601400_MR_Speak_20170901-210708.mp3object.item
2017-09-01 21:07:13 SONOSPLAYER Sonos_Kueche currentEnqueuedTransportURI: x-file-cifs://raspberrypi:8085/opt/fhem/SonosSpeak/RINCON_5CAAFD286E4601400_MR_Speak_20170901-210708.mp3
2017-09-01 21:07:13 SONOSPLAYER Sonos_Kueche currentEnqueuedTransportHandle: x-file-cifs://raspberrypi:8085/opt/fhem/SonosSpeak/RINCON_5CAAFD286E4601400_MR_Speak_20170901-210708.mp3|object.item.audioItem.musicTrackRINCON_AssociatedZPUDN
2017-09-01 21:07:13 SONOSPLAYER Sonos_Kueche currentTrackPosition: 0:00:00
2017-09-01 21:07:13 SONOSPLAYER Sonos_Kueche currentTrackPositionSec: 0
2017-09-01 21:07:13 SONOSPLAYER Sonos_Kueche currentTitle: RINCON_5CAAFD286E4601400_MR_Speak_20170901-210708.mp3
2017-09-01 21:07:13 SONOSPLAYER Sonos_Kueche infoSummarize1:  'RINCON_5CAAFD286E4601400_MR_Speak_20170901-210708.mp3'
2017-09-01 21:07:13 SONOSPLAYER Sonos_Kueche infoSummarize2: STOPPED =>  'RINCON_5CAAFD286E4601400_MR_Speak_20170901-210708.mp3'
2017-09-01 21:07:13 SONOSPLAYER Sonos_Kueche currentTrackPositionSimulated: 0:00:00
2017-09-01 21:07:13 SONOSPLAYER Sonos_Kueche currentTrackPositionSimulatedSec: 0
2017-09-01 21:07:13 SONOS Sonos LastProcessAnswer: 2017-09-01 21:07:13
2017-09-01 21:07:13 SONOSPLAYER Sonos_Kueche display_covertitle:  if (!document.getElementById("global_fulldiv_Sonos_Kueche")) {  var newDiv = document.createElement("div"); newDiv.setAttribute("id", "global_fulldiv_Sonos_Kueche"); document.body.appendChild(newDiv);   var newScript = document.createElement("script"); newScript.setAttribute("type", "text/javascript");  newScript.appendChild(document.createTextNode('function refreshFullSonos_Kueche() {  var fullDiv = document.getElementById("element_fulldiv_Sonos_Kueche"); if (!fullDiv) { return; }  var elementHTML = decodeURIComponent(fullDiv.innerHTML); var global = document.getElementById("global_fulldiv_Sonos_Kueche");  var oldGlobal = global.innerHTML; var hash = document.getElementById("hash_Sonos_Kueche"); var hashMatch = /(.+?)<.div>/i;  hashMatch.exec(elementHTML); if ((oldGlobal != "") && (!hash || (hash.innerHTML != RegExp.$1))) { global.innerHTML = elementHTML; }   if (oldGlobal != "") { setTimeout(refreshFullSonos_Kueche, 1000); var playing = document.getElementById("prog_playing_Sonos_Kueche");  if (playing && playing.innerHTML == "1") { setTimeout(refreshTimeSonos_Kueche, 100); } } } function refreshTimeSonos_Kueche() {  var playing = document.getElementById("prog_playing_Sonos_Kueche"); if (!playing || (playing && (playing.innerHTML == "0"))) { return; }   var runtime = document.getElementById("prog_runtime_Sonos_Kueche"); var starttime = document.getElementById("prog_starttime_Sonos_Kueche");  if (runtime && starttime) { var now = new Date().getTime();  var percent = (Math.round(now / 10.0) -  Math.round(starttime.innerHTML * 100.0)) / runtime.innerHTML;  document.getElementById("progressbarSonos_Kueche").style.width = percent + "%"; setTimeout(refreshTimeSonos_Kueche, 100); } }'));   document.body.appendChild(newScript); }  %3Cstyle%20type%3D%22text%2Fcss%22%3E.SONOS_Transportstate%20%7B%20height%3A%200.8em%3B%20margin-top%3A%20-6px%3B%20margin-left%3A%202px%3B%20%7D%3C%2Fstyle%3E%3Cdiv%20id%3D%22cover_currentSonos_Kueche%22%20style%3D%22position%3A%20fixed%3B%20top%3A%200px%3B%20left%3A%200px%3B%20width%3A%20100%25%3B%20height%3A%20100%25%3B%20z-index%3A%2010000%3B%20background-color%3A%20rgb%2820%2C20%2C20%29%3B%22%20onclick%3D%22document.getElementById%28%27cover_currentSonos_Kueche%27%29.style.display%20%3D%20%27none%27%3B%20document.getElementById%28%27global_fulldiv_Sonos_Kueche%27%29.innerHTML%20%3D%20%27%27%3B%22%3E%3Cdiv%20style%3D%22position%3A%20absolute%3B%20top%3A%2010px%3B%20left%3A%205px%3B%20display%3A%20inline-block%3B%20height%3A%2035px%3B%20width%3A%2035px%3B%20background-image%3A%20url%28%2Ffhem%2Fsonos%2Fcover%2Fbibliothek_round.png%29%3B%20background-repeat%3A%20no-repeat%3B%20background-size%3A%20contain%3B%20background-position%3A%20center%20center%3B%22%3E%3C%2Fdiv%3E%3Cdiv%20style%3D%22width%3A%20100%25%3B%20top%205px%3B%20text-align%3A%20center%3B%20font-weight%3A%20bold%3B%20color%3A%20lightgray%3B%20font-size%3A%20200%25%3B%22%3EK%C3%BCche%3Csvg%20class%3D%22SONOS_Transportstate%20audio_stop%22%20data-txt%3D%22Stopped%22%20version%3D%221.0%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20%20width%3D%22468pt%22%20height%3D%22468pt%22%20viewBox%3D%220%200%20468%20468%22%20%20preserveAspectRatio%3D%22xMidYMid%20meet%22%3E%20%3Cmetadata%3E%20Created%20by%20potrace%201.8%2C%20written%20by%20Peter%20Selinger%202001-2007%20%3C%2Fmetadata%3E%20%3Cg%20transform%3D%22translate%280%2C468%29%20scale%280.258564%2C-0.258564%29%22%20%20stroke%3D%22none%22%3E%20%3Cpath%20d%3D%22M97%201796%20c-51%20-19%20-75%20-42%20-87%20-85%20-6%20-23%20-10%20-326%20-10%20-814%200%20-842%20-2%20-815%2055%20-867%20l27%20-25%20811%20-3%20c758%20-2%20814%20-1%20847%2015%2073%2037%2070%20-6%2070%20888%200%20775%20-1%20801%20-20%20832%20-44%2073%2016%2068%20-865%2070%20-650%202%20-797%200%20-828%20-11z%20m1573%20-896%20l0%20-770%20-765%200%20-765%200%200%20770%200%20770%20765%200%20765%200%200%20-770z%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fsvg%3E%3C%2Fdiv%3E%3Cdiv%20style%3D%22position%3A%20relative%3B%20top%3A%208px%3B%20height%3A%2086%25%3B%20max-width%3A%20100%25%3B%20text-align%3A%20center%3B%22%3E%3Cdiv%20style%3D%22display%3A%20inline-block%3B%20height%3A%20calc%28100%25%20-%2070px%29%3B%20width%3A%20100%25%3B%20background-image%3A%20url%28%2Ffhem%2Fsonos%2Fcover%2Fempty.jpg%29%3B%20background-repeat%3A%20no-repeat%3B%20background-size%3A%20contain%3B%20background-position%3A%20center%20center%3B%22%2F%3E%3C%2Fdiv%3E%3Cdiv%20style%3D%22position%3A%20absolute%3B%20width%3A%20100%25%3B%20bottom%3A%208px%3B%20padding%3A%205px%3B%20text-align%3A%20center%3B%20font-weight%3A%20bold%3B%20color%3A%20lightgray%3B%20background-color%3A%20rgb%2820%2C20%2C20%29%3B%20font-size%3A%20120%25%3B%22%3E%20%27RINCON_5CAAFD286E4601400_MR_Speak_20170901-210708.mp3%27%3C%2Fdiv%3E%3Cdiv%20id%3D%22hash_Sonos_Kueche%22%20style%3D%22display%3A%20none%3B%20color%3A%20white%3B%22%3Ede47208ad347dac1cafedc66fde5610b%3C%2Fdiv%3E%3Cdiv%20id%3D%22prog_runtime_Sonos_Kueche%22%20style%3D%22display%3A%20none%3B%20color%3A%20white%3B%22%3E1%3C%2Fdiv%3E%3Cdiv%20id%3D%22prog_starttime_Sonos_Kueche%22%20style%3D%22display%3A%20none%3B%20color%3A%20white%3B%22%3E1504292833%3C%2Fdiv%3E%3Cdiv%20id%3D%22prog_playing_Sonos_Kueche%22%20style%3D%22display%3A%20none%3B%20color%3A%20white%3B%22%3E0%3C%2Fdiv%3E%3Cdiv%20id%3D%22progressSonos_Kueche%22%20style%3D%22position%3A%20absolute%3B%20bottom%3A%200px%3B%20width%3A%20100%25%3B%20height%3A%202px%3B%20border%3A%201px%20solid%20%23000%3B%20overflow%3A%20hidden%3B%22%3E%3Cdiv%20id%3D%22progressbarSonos_Kueche%22%20style%3D%22width%3A%200%25%3B%20height%3A%202px%3B%20border-right%3A%201px%20solid%20%23000000%3B%20background%3A%20%23d65946%3B%22%3E%3C%2Fdiv%3E%3C%2Fdiv%3E%3C%2Fdiv%3EStop bei Titel 1 von 1Titel: RINCON_5CAAFD286E4601400_MR_Speak_20170901-210708.mp3Interpret: Album:
2017-09-01 21:07:13 SONOS Sonos LastProcessAnswer: 2017-09-01 21:07:13
2017-09-01 21:07:13 SONOS Sonos LastProcessAnswer: 2017-09-01 21:07:13
2017-09-01 21:07:14 SONOSPLAYER Sonos_Kueche currentTrackPosition: 0:00:00
2017-09-01 21:07:14 SONOSPLAYER Sonos_Kueche currentTrackPositionSec: 0
2017-09-01 21:07:14 SONOS Sonos LastProcessAnswer: 2017-09-01 21:07:14