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

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 21493
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1215 am: 07 August 2022, 17:04:12 »
Hi,

ich habe auch festgestellt: wenn sich irgendwas an der Sonosumgebung ändert - neuer Speaker, ein Speaker war lange aus, Netzwerkrouter (DHCP) gewechselt o.ä. - dann muss man den sonos2mqtt Service neu starten.

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 der-Lolo

  • Hero Member
  • *****
  • Beiträge: 1872
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1216 am: 16 September 2022, 09:41:35 »
Best Practice?

Die nur gelegentlich genutzten Lautsprecher hier im Haus schalte ich via on-for-timer an - der Badezimmer Lautsprecher steht nur morgen für 90min zur Verfügung, oder nach anforderung via Taster im Bad.
Wie kann ich nun am schnellsten und zuverlässigsten reagieren wenn der Lautsprecher fertig ist mit Booten und bereit ist Befehle zu empfangen?

Im Badezimmer fall würde ich gerne sobald als möglich einen Radiosender laden und abspielen.

Aufgefallen ist mir das reading ts - es steht zwar nur eine Zahl drin, aber offensichtlich ist es das erste reading welches sich nach einem neustart ändert.

Welche möglichkeiten nutzt ihr? 

Offline binford6000

  • Tester
  • Hero Member
  • ****
  • Beiträge: 1561
  • 🏠⚙️💡🛠📱
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1217 am: 16 September 2022, 13:35:10 »
Best Practice?
Welche möglichkeiten nutzt ihr?

Ich schalte bei Abwesenheit alle SONOSe aus. Bei Anwesenheit schalten sie wieder ein und dann ein sleep bis die Bridge wieder online ist:
fhem("sleep SonosBridge:connected:.2; set Beam playFav ...")
VG Sebastian

Offline der-Lolo

  • Hero Member
  • *****
  • Beiträge: 1872
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1218 am: 16 September 2022, 16:20:51 »
Hallo Sebastian,
das ist nicht ganz mein Anwendungsfall - ein Sonos Connect im Haus läuft 24/7, somit geht die Bridge gar nicht auf disconnect...
Gibt es noch andere work arounds?

Offline new_newbie

  • Newbie
  • Beiträge: 2
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1219 am: 17 September 2022, 22:00:26 »
Hallo,

mir ist ein Fehler in der 99_sonos2mqttUtils.pm aufgefallen. Die Funktion sonos2mqtt_ur liefert für die favlist in der Bridge ein leeres Ergebnis zurück nach einem "get Favorites". Hier fehlt ein return.

if ($reading eq 'favlist'){
return sonos2mqtt_getList ($name,'Favorites')
}
#### sub for userReadings
#
sub sonos2mqtt_ur
{
my $name = shift // return '';
my $reading = shift || 'reading';
my @out;

if ($reading eq 'grouplist'){
   for (devspec2array('a:model=sonos2mqtt_speaker')) {
     if (ReadingsVal($_,'isMaster','')) {
        push @out,ReadingsVal($_,'name','')
     }
   }
  return join(',', sort @out)
}
if ($reading eq 'favlist'){
return sonos2mqtt_getList ($name,'Favorites')
}

if ($reading eq 'Input') {
   my $currentTrack_TrackUri = ReadingsVal($name,'currentTrack_TrackUri','');
   return $currentTrack_TrackUri =~ 'x-rincon-stream'
      ? 'LineIn': $currentTrack_TrackUri =~ 'spdif'
      ? 'TV'    : ReadingsVal($name,'enqueuedMetadata_UpnpClass','') eq 'object.item.audioItem.audioBroadcast'
      ? 'Radio' : 'Playlist'
  }
}

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 21493
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1220 am: 19 September 2022, 12:35:06 »
Danke new_newbie - ich hab den bugfix eingecheckt.
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 ch.eick

  • Hero Member
  • *****
  • Beiträge: 2651
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1221 am: 10 Oktober 2022, 13:19:41 »
Hallo zusammen,
ich habe nun seit einiger Zeit meine Sonos auch auf ghcr.io/svrooij/sonos2mqtt im Docker umgestellt.
Die FHEM Devices sind alle angelegt und das klappt dann auch soweit.
Nun fehlt mir noch die Sprachausgabe, die ich früher schonmal verwendet hatte, ich steig aber einfach nicht durch, wie das bei mqtt2 einzurichten ist.

Von der alten Installation habe ich noch dieses Share, was direkt im Basis Linux des RPI liegt.
pi@raspberrypi:/ $ ls -l /media
drwxrwxrwx  2 root root 4096 Mär 19  2022 SonosSpeak
Aber da hatte ich auch etwas gelesen, was Samba im Docker Container verwendet, allerdings finde ich es nicht mehr :-)
EDIT: https://forum.fhem.de/index.php/topic,89745.msg1034994.html#msg1034994, aber da geht es nicht weiter zur Anleitung :-(

Gibt es zu dem Thema bereits eine Step by Step Anleitung? Ich würde da auch gerne wieder auf der grünen Wiese anfangen.

VG
   Christian
« Letzte Änderung: 10 Oktober 2022, 13:24:34 von ch.eick »
RPI4; Docker; CUNX; Eltako FSB61NP; 230V zentral verschaltet; SamsungTV H-Serie; DLNARenderer; TV.pl;  Sonos; Vallox; Luxtronik; 2x FB7490; Stromzähler mit DvLIR; wunderground; clever-tanken; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 21493
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1222 am: 10 Oktober 2022, 13:23:41 »
Hallo Christian,

ich nehme immer noch die TEXT2SPEECH Variante: https://wiki.fhem.de/wiki/Sonos2mqtt#Sprachausgabe

Das mit Samba ist umständlich ...

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 ch.eick

  • Hero Member
  • *****
  • Beiträge: 2651
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1223 am: 10 Oktober 2022, 13:26:10 »
Hallo Christian,

ich nehme immer noch die TEXT2SPEECH Variante: https://wiki.fhem.de/wiki/Sonos2mqtt#Sprachausgabe

Das mit Samba ist umständlich ...

Gruß Otto
Hallo Otto,
okay, dann lasse ich Samba auch weg und beginne mal mit dem TEXT2SPEECH im Wiki
RPI4; Docker; CUNX; Eltako FSB61NP; 230V zentral verschaltet; SamsungTV H-Serie; DLNARenderer; TV.pl;  Sonos; Vallox; Luxtronik; 2x FB7490; Stromzähler mit DvLIR; wunderground; clever-tanken; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP

Offline ch.eick

  • Hero Member
  • *****
  • Beiträge: 2651
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1224 am: 10 Oktober 2022, 13:57:41 »
Hmm,
da fehlt wohl noch was, oder es muss noch was im sonos2mqtt Container konfiguriert werden?
FHEM läuft auch im Container und MP3Wrap ist wohl schon installiert.

EDIT: Für ARM/Raspbian sind die libttspico-utils leider nicht verfügbar,
      Brauch ich das im RPI FHEM Docker Container? Mir würde die Google Stimme reichen.

EDIT: http://192.168.178.40:8083/fhem/cache/
         File not found: cache/index.html

         http://192.168.178.40:8083/fhem/cache/cdd7bbbd4d163976240e58b236928cff.mp3
         Das wird im Browser mit einem freundlichen "Hallo" abgespielt.

EDIT: @otto
         Auf Deiner Seite steht noch etwas von /var/SonosSpeak und einem zusätzlichen userReadings cifsName , das habe ich auch mal versucht.
         Ich denke das /var/SonosSpeak wird sicherlich nicht benötigt, wenn man den HTTP FHEM cache verwendet.


2022.10.10 13:49:09.899 3: MQTT2_DEVICE set MQTT2_RINCON_949F3EE130B001400 sayText Hallo
2022.10.10 13:49:10.431 3: MQTT2_DEVICE set MQTT2_RINCON_949F3EE130B001400 notify 15 http://raspberrypi:8083/fhem/cache/cdd7bbbd4d163976240e58b236928cff.mp3
2022.10.10 13:49:10.440 2: After sleep: Deleted reading text for device SonosTTS
==> es ist nichts zu hören
2022.10.10 13:49:59.472 3: MQTT2_DEVICE set MQTT2_RINCON_949F3EE130B001400 speak Hallo
2022.10.10 13:49:59.476 1: PERL WARNING: Use of uninitialized value $text in concatenation (.) or string at ./FHEM/99_sonos2mqttUtils.pm line 141.
2022.10.10 13:49:59.477 3: eval: my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $EVTPART0=   $evalSpecials->{'%EVTPART0'};my $EVTPART1=   $evalSpecials->{'%EVTPART1'};my $NAME=   $evalSpecials->{'%NAME'};{sonos2mqtt($NAME,$EVENT)}
2022.10.10 13:49:59.482 3: set SonosTTS tts ;sleep SonosTTS:playing:.0 ;set MQTT2_RINCON_949F3EE130B001400 notify Hallo [SonosTTS:httpName] : tts needs text parameter
==> es ist nichts zu hören
Was ist denn der [SonosTTS:httpName] ???

Hier mal meine momentanen Devices
Internals:
   ALSADEVICE
   CFGFN     
   DEF        none
   FUUID      63440379-f33f-61a8-5b14-d9a8e23aef0da15f
   MODE       SERVER
   NAME       SonosTTS
   NR         147200
   STATE      Initialized
   TYPE       Text2Speech
   VOLUME     100
   eventCount 11
   OLDREADINGS:
   READINGS:
     2022-10-10 13:35:21   host            raspberrypi:8083
     2022-10-10 13:49:10   httpName        http://raspberrypi:8083/fhem/cache/cdd7bbbd4d163976240e58b236928cff.mp3
     2022-10-10 13:49:10   lastFilename    cache/cdd7bbbd4d163976240e58b236928cff.mp3
     2022-10-10 13:49:10   playing         0
     2022-10-10 13:48:21   vol             15
   helper:
     TTS_PlayerOptions
     Text2Speech:
Attributes:
   DbLogExclude .*
   TTS_CacheFileDir cache
   TTS_Language Deutsch
   TTS_UseMP3Wrap 1
   room       Multimedia->Sonos
   userReadings httpName:lastFilename.* {'http://'.ReadingsVal($name,'host','set host:port first').'/fhem/'.ReadingsVal($name,'lastFilename','')}


Internals:
   CFGFN     
   DEF        cache cache SonosSpeakWeb
   FUUID      63440379-f33f-61a8-68cc-c00a439c0a2836ad
   NAME       SonosSpeakWeb
   NR         147201
   STATE      SonosSpeakWeb
   TYPE       HTTPSRV
   fhem:
     directory  cache
     friendlyname SonosSpeakWeb
     infix      cache
Attributes:
   DbLogExclude .*
   room       Multimedia->Sonos
« Letzte Änderung: 10 Oktober 2022, 14:35:47 von ch.eick »
RPI4; Docker; CUNX; Eltako FSB61NP; 230V zentral verschaltet; SamsungTV H-Serie; DLNARenderer; TV.pl;  Sonos; Vallox; Luxtronik; 2x FB7490; Stromzähler mit DvLIR; wunderground; clever-tanken; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 21493
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1225 am: 10 Oktober 2022, 14:35:33 »
hier steht das reading host und httpName
Zitat
     2022-10-10 13:35:21   host            raspberrypi:8083
     2022-10-10 13:49:10   httpName        http://raspberrypi:8083/fhem/cache/cdd7bbbd4d163976240e58b236928cff.mp3
Wenn aber raspberrypi vom Namen her nicht nach 192.168.178.40 aufgelöst wird, funktioniert das nicht  ::)
« Letzte Änderung: 10 Oktober 2022, 14:41: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 ch.eick

  • Hero Member
  • *****
  • Beiträge: 2651
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1226 am: 10 Oktober 2022, 14:36:55 »
hier steht das reading host und httpNameWenn aber raspberrypi vom Namen her nicht nach 192.168.178.40 aufgelöst wird, funktioniert das nicht  ::)
Ich habe schon einiges im letzten Post eingefügt, auch das mit der IP-Adresse, es klappt aber bisher immer noch nicht.
RPI4; Docker; CUNX; Eltako FSB61NP; 230V zentral verschaltet; SamsungTV H-Serie; DLNARenderer; TV.pl;  Sonos; Vallox; Luxtronik; 2x FB7490; Stromzähler mit DvLIR; wunderground; clever-tanken; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 21493
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1227 am: 10 Oktober 2022, 14:40:27 »
klappt denn einset MQTT2_RINCON_949F3EE130B001400 notify 15 http://192.168.178.40:8083/fhem/cache/cdd7bbbd4d163976240e58b236928cff.mp3
Zitat
set MQTT2_RINCON_949F3EE130B001400 speak Hallo
ist falsch, dort ist es
set MQTT2_RINCON_949F3EE130B001400 speak 15 Hallo
Zitat
EDIT: @otto
         Auf Deiner Seite steht noch etwas von /var/SonosSpeak und einem zusätzlichen userReadings cifsName , das habe ich auch mal versucht.
         Ich denke das /var/SonosSpeak wird sicherlich nicht benötigt, wenn man den HTTP FHEM cache verwendet.
Vergiss das, das ist nicht mehr aktuell. Das Wiki ist aktuell.
Zitat
Ich habe derzeit die aktuellste Anleitung ins FHEM Wiki geschrieben, aufgeteilt in 2 Artikel.
« Letzte Änderung: 10 Oktober 2022, 14:45:37 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 ch.eick

  • Hero Member
  • *****
  • Beiträge: 2651
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1228 am: 10 Oktober 2022, 14:48:09 »
klappt denn einset MQTT2_RINCON_949F3EE130B001400 notify 15 http://192.168.178.40:8083/fhem/cache/cdd7bbbd4d163976240e58b236928cff.mp3 ist falsch, dort ist es
set MQTT2_RINCON_949F3EE130B001400 speak 15 HalloVergiss das, das ist nicht mehr aktuell. Das Wiki ist aktuell.
Das funktioniert nicht.
2022.10.10 14:45:34.531 3: MQTT2_DEVICE set MQTT2_RINCON_949F3EE130B001400 notify 15 http://192.168.178.40:8083/fhem/cache/cdd7bbbd4d163976240e58b236928cff.mp3
Im Browser wird die Datei jedoch abgespielt, was für mich zeigt, dass sie im cache bereit steht.
Muss ich im sonos2mqtt noch etwas konfigurieren?

EDIT:
cifsName x-file-cifs://192.168.178.40:8083
/var/SonosShare
sind jetzt wieder raus.
« Letzte Änderung: 10 Oktober 2022, 14:49:50 von ch.eick »
RPI4; Docker; CUNX; Eltako FSB61NP; 230V zentral verschaltet; SamsungTV H-Serie; DLNARenderer; TV.pl;  Sonos; Vallox; Luxtronik; 2x FB7490; Stromzähler mit DvLIR; wunderground; clever-tanken; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 21493
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1229 am: 10 Oktober 2022, 14:50:58 »
klappt ein
set MQTT2_RINCON_949F3EE130B001400 notify 25 https://cdn.smartersoft-group.com/various/pull-bell-short.mp3
Dürfen denn die Sonos Player mit http://192.168.178.40 reden? allowed ?

Zitat
Muss ich im sonos2mqtt noch etwas konfigurieren?
eigentlich nicht
« Letzte Änderung: 10 Oktober 2022, 14:52: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

 

decade-submarginal