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

Offline ch.eick

  • Hero Member
  • *****
  • Beiträge: 2781
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1230 am: 10 Oktober 2022, 15:04:22 »
klappt ein
set MQTT2_RINCON_949F3EE130B001400 notify 25 https://cdn.smartersoft-group.com/various/pull-bell-short.mp3
Okay, es war beim ersten mal ziemlich verzögert, aber dann kam der Sound.

Zitat
Dürfen denn die Sonos Player mit http://192.168.178.40 reden? allowed ?
Das habe ich so im Docker
  sonos:
    image: ghcr.io/svrooij/sonos2mqtt
    # or the dockerhub svrooij/sonos2mqtt
    restart: unless-stopped
    ports:
      - "6329:6329"
    environment:
      - SONOS2MQTT_DEVICE=192.168.178.36 # Service discovery doesn't work very well inside docker, so start with one device.
      - SONOS2MQTT_MQTT=mqtt://192.168.178.40:1883 # mqtt2_server FHEM
      # - SONOS2MQTT_DISTINCT=true # if your want distinct topics
      - SONOS_LISTENER_HOST=192.168.178.40 # Docker host IP
      # - SONOS_TTS_ENDPOINT=http://sonos-tts:5601/api/generate # If you deployed the TTS with the same docker-compose
    depends_on:
      - "fhem"
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

Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 21777
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1231 am: 10 Oktober 2022, 15:16:29 »
Also Sound geht prinzipiell, Deine Sonosplayer kommen offenbar nicht an den WebServer von FHEM.
Der Web Server von FHEM geht aber: Browsertest hat funktioniert  :-\
TTS funktioniert und erzeugt mp3 Dateien

Die Docker Konfiguration spielt da keine Rolle.
Deine Sonosplayer sind im gleichen IP Segment: 192.168.178.x ?
Das FHEMWEB ist im Zugriff nicht auf IP Adressen eingeschränkt?
zusätzliche Firewall aktiv?
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: 2781
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1232 am: 10 Oktober 2022, 15:22:51 »
Deine Sonosplayer sind im gleichen IP Segment: 192.168.178.x ?
ja

Zitat
zusätzliche Firewall aktiv?
Hausintern ist da nichts.

Zitat
Das FHEMWEB ist im Zugriff nicht auf IP Adressen eingeschränkt?
Da ist eine Benutzerkennung und ein Passwort drauf und das wird es sein...
In einem private Browser wird das beim Aufruf der mp3 abgefragt.
Wie kann ich das denn ohne große Sicherheitslücke für den cache ohne Passwort freigeben?
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

Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 21777
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1233 am: 10 Oktober 2022, 15:32:45 »
Zitat
Da ist eine Benutzerkennung und ein Passwort drauf und das wird es sein...
Du wieder  ;D :o

Wie machst Du das nun: zus. FHEMWEB mit neuem Port definieren - Sonos2mqtt port umstellen und testen
Dann dieses WEB in der Nutzung auf das cache Directory einschränken - wenn ich wüßte ob und wie das geht  :-[

Oder anderen WEB Server starten der nichts mit FHEMWEB zu tun hat.
Also konsequenterweise einen kleinen Stino WEB Server Container, der das Arbeitsverzeichnis fhem/cache (oder anderes Verzeichnis in das auch TEXT2SPEECH schreibt) gemappt bekommt :)
« Letzte Änderung: 10 Oktober 2022, 15:44:57 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: 2781
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1234 am: 10 Oktober 2022, 15:50:56 »
Du wieder  ;D :o
Hast Du im Haus intern alles offen, oder wie sind da die Empfehlungen für FHEM?
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: 2781
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1235 am: 10 Oktober 2022, 16:52:30 »
Sooo, nun geht es.

Wer also eine Benutzerkennung mit Passwort verwendet muss sich einen zweiten FHEM Port konfigurieren und diesen dann z.B. auf die IP-Adresse des Sonos2mqtt limitieren.

Vielen Dank für die Hilfe
     Christian
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

Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 21777
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1236 am: 10 Oktober 2022, 18:36:55 »
Ja ich habe intern mein FHEM offen. Ne Empfehlung gibt es glaube ich nicht. Aber ich achte schon  auf Sicherheit :)
Meine Bemerkung galt weniger dem "nicht offen" sondern mehr Dir, hätte Dir ja einfallen können, dass Sonos Deinen Account nicht hat ;)
Funktioniert das wirklich mit der IP von sonso2mqtt? Ich habe das nie probiert, habe aber gedacht der Player bekommt nur die url zugeworfen und muss dann selbst holen. Wenn das funktioniert ist ja gut zu wissen.

Ich baue bei Gelegenheit mal noch ne Anleitung in Richtung Web Server Container.

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: 2781
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1237 am: 10 Oktober 2022, 19:35:01 »
Ja ich habe intern mein FHEM offen. Ne Empfehlung gibt es glaube ich nicht. Aber ich achte schon  auf Sicherheit :)
Meine Bemerkung galt weniger dem "nicht offen" sondern mehr Dir, hätte Dir ja einfallen können, dass Sonos Deinen Account nicht hat ;)
Funktioniert das wirklich mit der IP von sonso2mqtt? Ich habe das nie probiert, habe aber gedacht der Player bekommt nur die url zugeworfen und muss dann selbst holen. Wenn das funktioniert ist ja gut zu wissen.
Wenn man den Mechanismuss versteht, kann man auch drauf kommen ;-)
Das zuwerfen und selber drum kümmern ist der Schlüssel hierbei.

Ich hatte schon einen weiteren Port für das FHEMWEB, der für eine API verwendt wird, dort habe ich nun die IP-Adresse des Sonos2mqtt Containers zugelassen.
Folgendes konnte man nach der Port Änderung im FHEM Log sehen
2022.10.10 16:36:22.306 3: MQTT2_DEVICE set MQTT2_RINCON_949F3EE130B001400 sayText Hallo
2022.10.10 16:36:22.839 3: MQTT2_DEVICE set MQTT2_RINCON_949F3EE130B001400 notify 15 http://192.168.178.40:8088/fhem/cache/cdd7bbbd4d163976240e58b236928cff.mp3
2022.10.10 16:36:22.847 2: After sleep: Deleted reading text for device SonosTTS
2022.10.10 16:36:22.915 1: Connection refused from 192.168.178.35:46435
Bisher konnte nur FHEM selber die WEBapi verwenden und nun halt auch Sonos2mqtt
allowfrom 192.168.178.40|192.168.178.35|127.0.0.1

VG Christian
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 m8ichael

  • Full Member
  • ***
  • Beiträge: 195
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1238 am: 11 Oktober 2022, 19:22:13 »
Hallo,

mal eine kurze Frage in die Runde: Gibt es bei sonos2mqtt etwas zu beachten bei der Angabe der MQTT-Zugangsdaten? Ich habe jetzt einmal das ganze neu installieren müssen und nun meckert sonos2mqtt stets, dass die Verbindung zum MQTT-Server zurückgewiesen wird. Dabei nutze ich die folgende Befehlszeile zum Start von sonos2mqtt:

sonos2mqtt -- --device 10.20.1.33 --mqtt mqtt://user:PASSWORT@127.0.0.1:1883
Als MQTT-Server nutze ich mosquitto auf der gleichen Maschine (also IP 127.0.0.1). Konfiguriere ich Mosquitto ohne Passwortsicherung, so funktioniert alles, wie es soll. Andersherum komme ich mit anderen Clients ganz normal auch bei aktiviertem Passwortschutz auf den MQTT-Server. Ich stehe irgendwie auf'n Schlauch...

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 #1239 am: 11 Oktober 2022, 21:06:16 »
Hallo Michael,

keine Erfahrung damit, aber allgemeine Idee: Sonderzeichen im user:password Konstrukt? Wenn ja muss man die hier encodieren?

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 #1240 am: 12 Oktober 2022, 07:42:39 »
Hallo Otto,

keine Erfahrung damit, aber allgemeine Idee: Sonderzeichen im user:password Konstrukt? Wenn ja muss man die hier encodieren?

Das scheint hier nicht der Fehler zu sein, da ich testweise auch ein Passwort vergeben habe, welches nur aus Kleinbuchstaben besteht. Auch hier wird ein Authorisierungsfehler seitens sonos2mqtt gemeldet.  :-\

Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 21777
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1241 am: 12 Oktober 2022, 09:05:19 »
Tut mir leid, keine Erfahrung mit dem Betrieb mit mosquitto - ich verwende MQTT2_SERVER.
Wie startest Du sonos2mqtt? Deine Zeile sieht aus wie pm2?
Hast Du alternative config Methoden probiert? https://svrooij.io/sonos2mqtt/getting-started.html#local-installation
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 #1242 am: 12 Oktober 2022, 14:40:32 »
Ich wiederhole mich ja ungern ;-) aber Sonos2Mqtt ist prima für Docker geeignet und läuft da saustabil und mit viel weniger Problemen.
Man kann svrooij/sonos2mqtt nutzen und zusätzlich auch noch svrooij/sonos-tts-polly

Läuft einfach - auch mit mosquitto  ;D
Migriere derzeit zu Home Assistant
Zustimmung Zustimmung x 2 Liste anzeigen

Offline new_newbie

  • Newbie
  • Beiträge: 2
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1243 am: 22 November 2022, 20:14:36 »
Hallo Otto,
mir ist noch etwas aufgefallen. Als Favoriten werden nur die Radiostationen übernommen, nicht aber die Sonos eigenen Sender. Hat das einen bestimmten Grund?

Ich habe in meiner Datei die Funktion sub sonos2mqtt_getList etwas erweitert, damit eben auch die Sonos eigenen Sender mit in die Favoriten übernommen werden.

Aus if ( $_->{'TrackUri'} =~ /x-sonosapi-stream/) habe ich if ( $_->{'TrackUri'} =~ /x-sonosapi-stream/ or $_->{'TrackUri'} =~ /x-sonosapi-radio/) gemacht.
Die komplette Funktion anbei.
# return a list of Titles from the favorite json Arrays
# the Favorites Array will be filtered and returns only Radio stations
sub sonos2mqtt_getList
{
my $name = shift // return '';
my $reading = shift || 'Favorites';
my @out;
   use JSON;
   use HTML::Entities;
   use Encode qw(encode decode);
   my $enc = 'UTF8';
   my $decoded = decode_json(ReadingsVal($name,$reading,''));
   my @arr  = @{$decoded->{'Result'}};
   for (@arr) {
     my $dec = encode($enc, decode_entities($_->{'Title'}));
     $dec =~ s/\s/./g;
     if ($reading eq 'Favorites') {
    if ( $_->{'TrackUri'} =~ /x-sonosapi-stream/ or $_->{'TrackUri'} =~ /x-sonosapi-radio/){
       push @out,$dec;
    }
} else {push @out,$dec;}
   }
  return join(',', @out);
}

Online Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 21777
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Sonos2mqtt - vielleicht hat jemand Lust mitzumachen
« Antwort #1244 am: 23 November 2022, 17:34:33 »
Hi,

danke für die Info.
mir ist noch etwas aufgefallen. Als Favoriten werden nur die Radiostationen übernommen, nicht aber die Sonos eigenen Sender. Hat das einen bestimmten Grund?
keinen bestimmten aber einfachen: ich wusste es nicht besser. Ich probiere es aus und bau es mit ein.

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