Autor Thema: Sonos2mqtt - vielleicht hat jemand Lust mitzumachen  (Gelesen 100456 mal)

Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 21777
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1200 am: 13 Mai 2022, 09:58:14 »
Hallo Spartacus,

interessante Fragestellung, davor stand ich auch schon mal. Habe dann alles per Hand gemacht  :-\
Ich kann mir vorstellen das geht, ich weiß auch das man hier ansetzen kann https://svrooij.io/sonos2mqtt/control/browse.html#browse-with-own-query
Ich weiß jetzt bloß noch nicht die zielgenaue Abfrage.

Wenn man die Playliste hätte ist der Export bestimmt einfach machbar.
Fleißaufgabe ;)
Beispiel - dieser Abfragestring bei einem Player ins x_raw_payload Inputfeld geworfen:
{
  "command": "adv-command",
  "input": {
    "cmd": "ContentDirectoryService.BrowseParsed",
    "val": {
      "ObjectID": "Q:0",
      "BrowseFlag": "BrowseDirectChildren",
      "Filter": "*",
      "StartingIndex": 0,
      "RequestedCount": 0,
      "SortCriteria": ""
    },
    "reply": "Reply"
  }
}
Erzeugt in der SonosBridge im Reading Reply die aktuelle Playlist des Players in einem Json String. Aus dem müsste man jetzt die Titel extrahieren...

Gruß Otto
« Letzte Änderung: 13 Mai 2022, 10:08:59 von Otto123 »
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Offline Spartacus

  • Hero Member
  • *****
  • Beiträge: 1419
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1201 am: 13 Mai 2022, 13:25:08 »
Hallo Otto,

vielen Dank für die schnelle Antwort und deinen Einsatz. Ich habe inzwischen eine Möglichkeit gefunden, die Playlisten direkt von amazon music nach Spotify zu übertragen. Das klappt bis zu 500 Titel sogar kostenlos und das geht wirklich schnell!

https://www.tunemymusic.com/de/


Christian
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R
Gefällt mir Gefällt mir x 2 Liste anzeigen

Offline Spartacus

  • Hero Member
  • *****
  • Beiträge: 1419
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1202 am: 16 Mai 2022, 12:53:49 »
Moin zusammen,

irgendwie bin ich zu blöd einen Radiosender zu laden und abzuspielen. Ih finde den Fehler nicht.

Zuerst habe ich die Radiosender geladen:

get SonosBridge Reply Radios;sleep SonosBridge:Reply.*;setreading SonosBridge Radios [SonosBridge:Reply]
Dann möchte ich WR2 in einen Player laden. Und das klappt schon nicht.

set MQTT2_RINCON_B8E9375131E201400 play Radios WDR2 Ruhrgebiet
In der Radioliste gibt es den Sender zwar, aber im Player wird einfach nichts geladen. Es steht dort dann keine Musik vorhanden und es schaut so aus, als würde er den Sender gar nicht finden. Hat jemand eine Idee?

Spartacus.
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 21777
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1203 am: 16 Mai 2022, 13:24:32 »
single? Radio? :D
set MQTT2_RINCON_B8E9375131E201400 play Radio WDR2set MQTT2_RINCON_B8E9375131E201400 play Radio WDR2 Ruhrgebiet
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Offline kjmEjfu

  • Sr. Member
  • ****
  • Beiträge: 853
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1204 am: 16 Mai 2022, 13:27:20 »
Dann möchte ich WR2 in einen Player laden. Und das klappt schon nicht.

set MQTT2_RINCON_B8E9375131E201400 play Radios WDR2 Ruhrgebiet
In der Radioliste gibt es den Sender zwar, aber im Player wird einfach nichts geladen. Es steht dort dann keine Musik vorhanden und es schaut so aus, als würde er den Sender gar nicht finden. Hat jemand eine Idee?

Der Sender heißt "WDR2 Ruhrgebiet", richtig?
Halt also ein Leerzeichen im Namen.
AFAIK musst du das mit %20 escapen.

Also WDR2%20Ruhrgebiet
Migriere derzeit zu Home Assistant

Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 21777
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1205 am: 16 Mai 2022, 13:32:33 »
Es geht an der Stelle tatsächlich mir Leerzeichen :)
Bei mir ist der WDR2 allerdings WDR 2 ...
Aber eben Mehrzahl die Liste: Radios / Favorites / Playlists. Einzahl das einzelne Object: Radio / Favorite / Playlist
« Letzte Änderung: 16 Mai 2022, 13:36:06 von Otto123 »
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Offline Spartacus

  • Hero Member
  • *****
  • Beiträge: 1419
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1206 am: 16 Mai 2022, 13:40:17 »
Moin,

cool! Hat jetzt geklappt, obwohl ich "Radio" auch probiert hatte. War vielleicht irgendeinen Tippfehler drin.

Danke Euch!
Spartacus
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Offline m8ichael

  • Full Member
  • ***
  • Beiträge: 195
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1207 am: 19 Mai 2022, 07:38:31 »
Hallo,

ich habe zwei Fragen zu diesem Thema:

  • Nachdem ich meinen Raspberry Pi neu einrichten musste, schaffe ich es derzeit nicht, meine Sonos-Geräte davon zu überzeugen, die TTS-Funktion zum Laufen zu bringen. In der näheren Fehlerbetrachtung habe ich festgestellt, dass der notify-Befehl irgendwie nicht richtig funktioniert. Konkret wird im Reading "input_trackUri" auch die korrekte URI abgelegt (die auch durch Drittgeräte erreichbar ist), aber irgendwie wird das nicht an den MQTT-Provider übermittelt. Weitere Funktionen, wie Stop, PlayFav etc. funktionieren ohne Probleme.
  • Was sind die best practices, um Readings von diesen Sonos-Geräten abzufragen? Aufgrund der unhandlichen Namen der Devices erfolgt ja der Set-Befehl in der Form "set alias=... play". Wie kann man vermeiden, ein Reading mit ReadingsVal("RINCON_347E5C...,"<Reading>","") abfragen zu müssen?

Könnt ihr mir hier ein paar Tipps geben?

Vielen Dank und viele Grüße

Michael

Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 21777
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1208 am: 19 Mai 2022, 09:58:04 »
Hallo Michale,

zur ersten Frage müsste ich wissen, welche Funktion Du umsetzen willst: die mit dem TEXT2SPEECH Device oder die mit Amazon Polly?
funktioniert denn
set ... notify 25 https://cdn.smartersoft-group.com/various/pull-bell-short.mp3zur zweiten:
Naja Du kannst die Geräte einfach umbenennen. Ich habe das nicht eingebaut weil man da wieder Sonderbetrachtungen führen muss: aus was setzt man den Namen zusammen und so weiter.
Da ReadingsVal im Perlumfeld verwendet wird, kannst Du auch einleitend den Namen ermitteln:
my $Player = (devspec2array('alias=Wohnzimmer'))[0];
Gruß Otto
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Offline m8ichael

  • Full Member
  • ***
  • Beiträge: 195
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1209 am: 19 Mai 2022, 10:04:47 »
Hi!

Zitat
zur ersten Frage müsste ich wissen, welche Funktion Du umsetzen willst: die mit dem TEXT2SPEECH Device oder die mit Amazon Polly?
funktioniert denn
Code: [Auswählen]

set ... notify 25 https://cdn.smartersoft-group.com/various/pull-bell-short.mp3

Das ist genau das Problem. Auch das funktioniert nicht. Irgendwie kann ich keine URIs an die Geräte schicken. Ganz generell funktioniert aber die Verbindung, d.h., sowohl die Readings werden sauber abgelegt (wenn man das Gerät direkt ohne FHEM startet) und auch die generelle Steuerung über FHEM funktioniert (inkl. Favouriten-Listen, Radiostationen etc.). Nur eben das Abspielen von konkreten mp3s nicht.

Zitat
Naja Du kannst die Geräte einfach umbenennen.

OK, das wäre dann auch mein Ansatz gewesen. War mir nur nicht sicher, ob sich dadurch Folgeprobleme ergeben.

Danke schon mal!

Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 21777
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1210 am: 19 Mai 2022, 10:10:15 »
funktioniert das über x_raw_payload?
{
  "command": "notify",
  "input": {
    "trackUri": "https://cdn.smartersoft-group.com/various/pull-bell-short.mp3",
    "onlyWhenPlaying": false,
    "timeout": 10,
    "volume": 15,
    "delayMs": 700
  }
}
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Offline m8ichael

  • Full Member
  • ***
  • Beiträge: 195
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1211 am: 19 Mai 2022, 10:37:08 »
Hallo,

Zitat
funktioniert das über x_raw_payload?
Code: [Auswählen]

{
  "command": "notify",
  "input": {
    "trackUri": "https://cdn.smartersoft-group.com/various/pull-bell-short.mp3",
    "onlyWhenPlaying": false,
    "timeout": 10,
    "volume": 15,
    "delayMs": 700
  }
}

Nein. leider auch nicht. Da scheint also irgendetwas in der MQTT-Verarbeitung schief zu laufen. Merkwürdig nur, dass der Rest einwandfrei funktioniert.

Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 21777
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1212 am: 19 Mai 2022, 11:54:03 »
wie hast Du sonos2mqtt am laufen? nodejs lokal oder docker container? In beiden gibt es ein Log:
z.B. mit portainer ins log schauen bzw. lokal mit pm2 monit oder pm2 logs (allerdings als der user unter dem der nodejs läuft)
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Offline m8ichael

  • Full Member
  • ***
  • Beiträge: 195
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1213 am: 19 Mai 2022, 16:20:16 »
Hi!

Zitat
wie hast Du sonos2mqtt am laufen? nodejs lokal oder docker container? In beiden gibt es ein Log:
z.B. mit portainer ins log schauen bzw. lokal mit pm2 monit oder pm2 logs (allerdings als der user unter dem der nodejs läuft)

Alles klar, jetzt läuft es. Im Rahmen der Einrichtung lief der Prozess sonos2mqtt anscheinend mehrfach unter verschiedenen Benutzern.

Dankeschön!  :)
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline australien

  • Full Member
  • ***
  • Beiträge: 346
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1214 am: 07 August 2022, 14:26:08 »
Hallo Otto123,

ich bekomme seit ein paar Tagen auf einen meiner drei sonos folgende Meldung
error_code     ECONNREFUSED
kann ich die irgend wie weg bekommen? Der Sonos reagiert auf nichts via mqtt.

Weiters ist mir aufgefallen, dass die IP der Speaker nicht mit der aktuellen übereinstimmt.
Sieht aus, also ob sich die Bridge nicht akutallisert, obwohl verbunden.

Danke
A.



Lösung: neustart des pm2 am Raspberry, warum notwendig, keine Ahnung.
« Letzte Änderung: 07 August 2022, 15:45:34 von australien »
raspberry pi3
signalduino, Shelly1, Shelly2, Sonos, Unifi
Amazon Fire Tablet 7 | Noname Android Tablet 10"