Sonos2mqtt - vielleicht hat jemand Lust mitzumachen

Begonnen von Otto123, 31 Mai 2020, 18:30:55

Vorheriges Thema - Nächstes Thema

Otto123

#1290
hat er was nicht dokumentiert? einfach --port probieren?

Zwei Bridges - gute Frage. es werden zwei unterschiedliche topics man muss wahrscheinlich bloß die regex anpassen? Da denke ich nochmal drüber nach.
Edit: Naja das wird ev. etwas komplexer, man muss ja die Rückfunktion aufdröseln. Eventuell die S2 mit sonos topic und die S1 mit sonos1 und dann regex in der Bridge so machen, dass es auf beide matched und die zentralen Funktionen manuell duplizieren? Ich habe mal das die Player funktionieren mit geändertem sonos topics oder ob es da eine Leiche im Code gibt :)

Ich meine, hier im Thread war schon mal die Rede von S1 und S2 ?
Edit: war nur die Aussage geht mit beiden...
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Mitch

#1291
Ich hatte viel zu kompliziert gedacht.
Zweite VM mit sonos2mqtt und den prefix anders benennen.

Dann gibt es in fhem ein Device, dieses wie in der Beschreibung als Bridge Comfort definieren und schon kommt der Player.
Leider lässt er sich nicht über fhem bedienen. Set Befehle geht noch, da muss ich nochmal schauen.

Edit: musste noch die readings vom alten Device manuel ändern, jetzt geht es!
FHEM im Proxmox Container

rallye

#1292
Guten Morgen! Ich habe kürzlich den Docker für mich entdeckt und u.a. den sonos2mqtt in den Docker verpackt. Und weil es so schön ist, gleich das TTS dazu. Die Steuerung meines Sonos One (2.Gen) aus FHEM funktioniert hervorragend. Nur mit dem TTS komme ich einfach nicht zurecht. Ich weiss nichtmal wo ich anfangen soll. Hier meine Definitionen in FHEM:
SonosBridge
defmod SonosBridge MQTT2_DEVICE
attr SonosBridge bridgeRegexp sonos/(RINCON_[A-Z0-9]+)[:/].* "$1"
attr SonosBridge devStateIcon 0:10px-kreis-rot 1:10px-kreis-gelb 2:10px-kreis-gruen
attr SonosBridge devicetopic sonos
attr SonosBridge getList Favorites:noArg Favorites {sonos2mqtt($NAME,$EVENT)}\
Reply:Favorites,Radios,Playlists Reply {sonos2mqtt($NAME,$EVENT)}\
listalarms:noArg Alarms {sonos2mqtt($NAME,$EVENT)}
attr SonosBridge icon mqtt_bridge_2
attr SonosBridge model sonos2mqtt_bridge
attr SonosBridge readingList homeassistant/music_player/RINCON_([0-9A-Z]+)/sonos/config:.* { $TOPIC =~ m,(RINCON_[0-9A-Z]+),;; { "config_$1"=>$EVENT }}\
sonos/RINCON_([0-9A-Z]+)/Favorites:.* Favorites\
sonos/RINCON_([0-9A-Z]+)/Reply:.* Reply\
sonos/alarms:.* Alarms\
sonos/connected:.* connected\
sonos/status/[^/]+/avtransport:.* {}\
sonos/status/[^/]+/renderingcontrol:.* {}
attr SonosBridge room MQTT2_DEVICE
attr SonosBridge setList CheckSubscription:noArg $DEVICETOPIC/cmd/check-subscriptions\
PauseAll:noArg $DEVICETOPIC/cmd/pauseall\
announcementall:textField {sonos2mqtt($NAME,$EVENT)}\
notifyall:textField {sonos2mqtt($NAME,$EVENT)}\
setalarm:textField $DEVICETOPIC/cmd/setalarm\
speak:textField {sonos2mqtt($NAME,$EVENT)}
attr SonosBridge stateFormat connected
attr SonosBridge userReadings favlist:Favorites.* {sonos2mqtt_ur($name,'favlist')},\
grouplist:Favorites.* {sonos2mqtt_ur($name,'grouplist')}

setstate SonosBridge 2
setstate SonosBridge 2023-02-06 13:50:10 Favorites {"Result":[{"AlbumArtUri":"http://cdn-profiles.tunein.com/s302528/images/logoq.png?t=151601","Title":"ANTENNE PARTYHITMIX","UpnpClass":"object.itemobject.item.sonos-favorite","ItemId":"FV:2/4","ParentId":"FV:2","TrackUri":"x-sonosapi-stream:s302528?sid=254&flags=8224&sn=0","ProtocolInfo":"x-sonosapi-stream:*:*:*"},{"Title":"Deep House Ibiza","UpnpClass":"object.itemobject.item.sonos-favorite","ItemId":"FV:2/18","ParentId":"FV:2","TrackUri":"x-sonosapi-stream:s303543?sid=254&flags=8224&sn=0","ProtocolInfo":"x-rincon-mp3radio:*:*:*"},{"Title":"Deep House Music","UpnpClass":"object.itemobject.item.sonos-favorite","ItemId":"FV:2/17","ParentId":"FV:2","TrackUri":"x-sonosapi-stream:s304600?sid=254&flags=8224&sn=0","ProtocolInfo":"x-rincon-mp3radio:*:*:*"},{"Title":"HOUSE FM","UpnpClass":"object.itemobject.item.sonos-favorite","ItemId":"FV:2/16","ParentId":"FV:2","TrackUri":"x-sonosapi-stream:s92189?sid=254&flags=8224&sn=0","ProtocolInfo":"x-rincon-mp3radio:*:*:*"},{"Title":"kronehit 105.8 (Top 40/Pop)","UpnpClass":"object.itemobject.item.sonos-favorite","ItemId":"FV:2/15","ParentId":"FV:2","TrackUri":"x-sonosapi-stream:s15532?sid=254&flags=8224&sn=0","ProtocolInfo":"x-rincon-mp3radio:*:*:*"},{"AlbumArtUri":"http://cdn-profiles.tunein.com/s150204/images/logoq.png?t=1","Title":"kronehit clubland (Electro)","UpnpClass":"object.itemobject.item.sonos-favorite","ItemId":"FV:2/19","ParentId":"FV:2","TrackUri":"x-sonosapi-stream:s150204?sid=254&flags=8232&sn=0","ProtocolInfo":"x-sonosapi-stream:*:*:*"},{"AlbumArtUri":"http://cdn-profiles.tunein.com/s309945/images/logoq.png?t=1","Title":"kronehit our house","UpnpClass":"object.itemobject.item.sonos-favorite","ItemId":"FV:2/13","ParentId":"FV:2","TrackUri":"x-sonosapi-stream:s309945?sid=254&flags=8224&sn=0","ProtocolInfo":"x-sonosapi-stream:*:*:*"},{"Title":"Lerne Sonos Radio kennen","UpnpClass":"object.itemobject.item.sonos-favorite","ItemId":"FV:2/0","ParentId":"FV:2"},{"Title":"Wien","UpnpClass":"object.itemobject.item.sonos-favorite","ItemId":"FV:2/3","ParentId":"FV:2"}],"NumberReturned":9,"TotalMatches":9,"UpdateID":1}
setstate SonosBridge 2023-02-05 18:35:18 attrTemplateVersion 20210303
setstate SonosBridge 2023-02-07 08:47:06 config_RINCON_F0F6C18AF44201400 {"available_commands":["adv-command","clearqueue","command","joingroup","leavegroup","mute","next","notify","notifytwo","pause","play","playmode","previous","queue","seek","selecttrack","setbass","setbuttonlockstate","setledstate","setnightmode","setavtransporturi","settreble","sleep","speak","speaktwo","stop","switchtoline","switchtoqueue","switchtotv","toggle","unmute","volume","volumedown","volumeup"],"command_topic":"sonos/RINCON_F0F6C18AF44201400/control","device":{"identifiers":["RINCON_F0F6C18AF44201400"],"manufacturer":"Sonos","name":"Esszimmer"},"device_class":"speaker","icon":"mdi:speaker","json_attributes":true,"json_attributes_topic":"sonos/RINCON_F0F6C18AF44201400","name":"Esszimmer","state_topic":"sonos/RINCON_F0F6C18AF44201400","unique_id":"sonos2mqtt_RINCON_F0F6C18AF44201400_speaker","availability_topic":"sonos/connected","payload_available":"2"}
setstate SonosBridge 2023-02-07 08:47:06 connected 2
setstate SonosBridge 2023-02-06 13:50:10 favlist ANTENNE.PARTYHITMIX,Deep.House.Ibiza,Deep.House.Music,HOUSE.FM,kronehit.105.8.(Top.40/Pop),kronehit.clubland.(Electro),kronehit.our.house
setstate SonosBridge 2023-02-06 13:50:10 grouplist Esszimmer

Sonos One

defmod MQTT2_RINCON_F0F6C18AF44201400 MQTT2_DEVICE RINCON_F0F6C18AF44201400
attr MQTT2_RINCON_F0F6C18AF44201400 alias Esszimmer
attr MQTT2_RINCON_F0F6C18AF44201400 devStateIcon {sonos2mqtt($name,'devStateIcon')}
attr MQTT2_RINCON_F0F6C18AF44201400 devicetopic sonos
attr MQTT2_RINCON_F0F6C18AF44201400 icon Sonos2mqtt_icon-S18
attr MQTT2_RINCON_F0F6C18AF44201400 jsonMap volume_Master:volume mute_Master:mute
attr MQTT2_RINCON_F0F6C18AF44201400 model sonos2mqtt_speaker
attr MQTT2_RINCON_F0F6C18AF44201400 readingList $DEVICETOPIC/RINCON_F0F6C18AF44201400/ZoneInfo:.* { json2nameValue($EVENT) }\
$DEVICETOPIC/RINCON_F0F6C18AF44201400:.* { json2nameValue($EVENT,'',$JSONMAP) }\
$DEVICETOPIC/status/(.*)/avtransport:.* { sonos2mqtt_reading($NAME,$EVENT,$TOPIC) }\
sonos/RINCON_F0F6C18AF44201400/error:.* { json2nameValue($EVENT) }
attr MQTT2_RINCON_F0F6C18AF44201400 room MQTT2_DEVICE
attr MQTT2_RINCON_F0F6C18AF44201400 setList alarm:textField { sonos2mqtt_alarm($NAME,$EVENT) }\
input:Queue {sonos2mqtt($NAME,$EVENT)}\
joinGroup: {sonos2mqtt($NAME,$EVENT)}\
leaveGroup:noArg {sonos2mqtt($NAME,$EVENT)}\
mute:true,false {sonos2mqtt($NAME,$EVENT)}\
next:noArg {sonos2mqtt($NAME,$EVENT)}\
notify:textField {sonos2mqtt($NAME,$EVENT)}\
pause:noArg {sonos2mqtt($NAME,$EVENT)}\
play:noArg {sonos2mqtt($NAME,$EVENT)}\
playUri:textField {sonos2mqtt($NAME,$EVENT)}\
previous:noArg {sonos2mqtt($NAME,$EVENT)}\
sayText:textField {sonos2mqtt($NAME,$EVENT)}\
setAVTUri:textField {sonos2mqtt($NAME,$EVENT)}\
sleep:selectnumbers,0,15,120,0,lin {sonos2mqtt($NAME,$EVENT)}\
snoozeAlarm:textField { sonos2mqtt($NAME,$EVENT) }\
speak:textField {sonos2mqtt($NAME,$EVENT)}\
stop:noArg {sonos2mqtt($NAME,$EVENT)}\
toggle:noArg {sonos2mqtt($NAME,$EVENT)}\
volume:slider,0,1,100 {sonos2mqtt($NAME,$EVENT)}\
volumeDown:noArg {sonos2mqtt($NAME,$EVENT)}\
volumeUp:noArg {sonos2mqtt($NAME,$EVENT)}\
x_raw_payload:textField {sonos2mqtt($NAME,$EVENT)}
attr MQTT2_RINCON_F0F6C18AF44201400 stateFormat transportState
attr MQTT2_RINCON_F0F6C18AF44201400 userReadings Master:groupName.* {(split(' \+',ReadingsVal($name,'groupName','')))[0]},\
isMaster:coordinatorUuid.* {ReadingsVal($name,'coordinatorUuid','') eq ReadingsVal($name,'uuid','')?1:0},\
inGroup:groupName.* {ReadingsVal($name,'groupName','') =~ / \+ /?1:0},\
inCouple:coordinatorUuid.* {(ReadingsVal($name,'coordinatorUuid','') ne ReadingsVal($name,'uuid','') and (index(ReadingsVal($name,'groupName',''), ReadingsVal($name,'name','')) != -1))?1:0},\
Input:currentTrack_TrackUri.* {sonos2mqtt_ur($name,'Input')}
attr MQTT2_RINCON_F0F6C18AF44201400 webCmd volume

setstate MQTT2_RINCON_F0F6C18AF44201400 PLAYING
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:06 AlarmRunning false
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-05 18:36:00 CopyrightInfo © 2003-2021, Sonos, Inc. All rights reserved.
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-05 18:36:00 DisplaySoftwareVersion 14.20.1
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-05 18:36:00 Flags 0
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-05 18:36:00 HTAudioIn 0
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-05 18:36:00 HardwareVersion 1.26.1.9-2.2
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-05 18:35:59 IODev MQTT_Shellies
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-05 18:36:00 IPAddress 192.168.57.77
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 Input Radio
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-05 18:36:00 MACAddress F0:F6:C1:8A:F4:42
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 Master Esszimmer
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-05 18:36:00 SerialNumber F0-F6-C1-8A-F4-42:C
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:06 SleepTimerGeneration 0
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:06 SnoozeRunning false
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-05 18:36:00 SoftwareVersion 70.4-36090
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-06 14:21:16 associatedWith SonosBridge
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-05 18:36:00 attrTemplateVersion 20210303
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 bass 5
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-06 18:03:13 command speak
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 coordinatorUuid RINCON_F0F6C18AF44201400
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 currentTrack_AlbumArtUri http://192.168.57.77:1400/getaa?s=1&u=x-sonosapi-stream%3atunein%253a6778%3fsid%3d303%26flags%3d8232%26sn%3d1
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 currentTrack_Artist topic & a7s
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-06 18:13:48 currentTrack_Duration 0:00:02
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 currentTrack_ItemId -1
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 currentTrack_ParentId -1
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 currentTrack_ProtocolInfo sonos.com-http:*:*:*
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 currentTrack_Title kernkraft 400 (a better day)
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 currentTrack_TrackUri x-sonosapi-stream:tunein:6778?sid=303&flags=8232&sn=1
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 currentTrack_UpnpClass object.item
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-06 13:30:40 enqueuedMetadata_AlbumArtUri https://cdn-profiles.tunein.com/s15532/images/logoq.png?t=636887910150000000
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 enqueuedMetadata_ItemId -1
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 enqueuedMetadata_ParentId -1
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 enqueuedMetadata_Title kronehit 105,8
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 enqueuedMetadata_UpnpClass object.item.audioItem.audioBroadcast
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-06 18:03:13 error_Action GetTtsUriFromEndpoint
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-06 14:24:44 error_Fault UPnPError
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-06 14:24:44 error_FaultCode s:Client
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-06 18:03:13 error_HttpStatusCode 404
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-06 18:03:13 error_HttpStatusText Not Found
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-06 14:24:44 error_UpnpErrorCode 714
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-06 14:24:44 error_UpnpErrorDescription Illegal MIME-Type
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-06 18:03:13 error_name HttpError
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 groupName Esszimmer
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 inCouple 0
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 inGroup 0
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 isMaster 1
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 model Sonos One
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-05 18:36:00 modelNumber S18
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 mute false
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 mute_LF false
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-05 18:35:59 mute_Master false
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 mute_RF false
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 name Esszimmer
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 playmode NORMAL
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:24 state toggle
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 transportState PLAYING
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 treble -1
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 ts 1675756052952
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 uuid RINCON_F0F6C18AF44201400
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 volume 7
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 volume_LF 100
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-05 18:35:59 volume_Master 7
setstate MQTT2_RINCON_F0F6C18AF44201400 2023-02-07 08:47:33 volume_RF 100


Und die Dockerdefinitionen:

version: '3'
services:
  sonos:
    image: ghcr.io/svrooij/sonos2mqtt
    # or the dockerhub svrooij/sonos2mqtt
    restart: unless-stopped
    ports:
      - "6329:6329"
    environment:
      - SONOS2MQTT_DEVICE=192.168.57.77 # Service discovery doesn't work very well inside docker, so start with one device.
      - SONOS2MQTT_MQTT=mqtt://192.168.57.34:1883 #
      # - SONOS2MQTT_DISTINCT=true # if your want distinct topics
      - SONOS_LISTENER_HOST=192.168.57.34 # Docker host IP
      - SONOS_TTS_ENDPOINT=http://sonos-tts:5601/api/generate
#
  sonos-tts:
    image: svrooij/sonos-tts-polly
    volumes:
      - /home/josef/cache:/cache
    ports:
      - "5601:5601"
    environment:
      - SONOS_TTS_AMAZON_KEY=ABCDEFGHIJKLMNOPQRSTUVWXYZ
      - SONOS_TTS_AMAZON_SECRET=1234567890abcdefghijklmnopqrstuvwxyz
      - SONOS_TTS_AMAZON_REGION=eu-west-1
      - SONOS_TTS_CACHE_URI=http://192.168.57.34:5601/cache
      - SONOS_TTS_ALLOW_GET=true
      - SONOS_TTS_CACHE_FOLDER=/cache

Dass ich meinen Sonos mit dieser Definition
defmod SonosTTS Text2Speech none
attr SonosTTS TTS_CacheFileDir cache
attr SonosTTS TTS_Language Deutsch
attr SonosTTS TTS_UseMP3Wrap 1
attr SonosTTS room MQTT2_DEVICE
attr SonosTTS userReadings httpName:lastFilename.* {'http://'.ReadingsVal($name,'host','set host:port first').'/fhem/'.ReadingsVal($name,'lastFilename','')}

setstate SonosTTS 2023-02-06 13:14:40 host RasPi-Testsystem:8083
setstate SonosTTS 2023-02-06 18:00:09 httpName http://RasPi-Testsystem:8083/fhem/cache/ab0028b2ab16b4a8a4dc21c6e197db77.mp3
setstate SonosTTS 2023-02-06 18:00:09 lastFilename cache/ab0028b2ab16b4a8a4dc21c6e197db77.mp3
setstate SonosTTS 2023-02-06 18:00:09 playing 0
setstate SonosTTS 2023-02-06 13:24:19 vol 15

auch wegen UseMP3Wrap 1 nicht zum Sprechen bringe ist mir klar. Aber wie kann ich ihn mit Amazon-Polly Sprachnachrichten ausgeben lassen?

Vielleicht hat jemand Erfahrungen? Otto eventuell, wenn ich den Thread aus Mitte Jänner so verfolge?

Danke

Nachtrag: ein
MQTT2_DEVICE set SonosBridge speak de-DE Vicki 25 Rundruf Test
lässt den Speaker verstummen (als ob eine Sprachausgabe erfolgen würde, aber am Ende des Tages doch keine kommt), danach spielt das Radioprogramm weiter
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Otto123

Hallo rallye,

warum meinst Du, funktioniert die Ausgabe mit SonosTTS nicht?
Zitatauch wegen UseMP3Wrap 1 nicht zum Sprechen bringe ist mir klar.
Die fehlt das SonosSpeakWeb Device?

Zu dem Dockercontainer mit sonos-tts kann ich leider nicht viel sagen, ich betreibe den nicht.
Deine Definition sieht eigentlich gut aus.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rallye

Zitat von: Otto123 am 07 Februar 2023, 12:21:34
Hallo rallye,

warum meinst Du, funktioniert die Ausgabe mit SonosTTS nicht?Die fehlt das SonosSpeakWeb Device?


Nun, weil ich beim SonosTTS eben angebe, dass es mp3wrap verwenden soll?

Ok, ich versuche das Ganze nun mal ohne sonos-tts im Docker auf meinem Testsystem. Mal sehen wie weit ich komme.

Danke inzwischen

Grüße Rallye
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Otto123

ZitatNun, weil ich beim SonosTTS eben angebe, dass es mp3wrap verwenden soll?
Das ist aber kein Problem sondern eher die Lösung für flüssige Ausgabe. mW werden bei längeren Texten mehrere mp3 Dateien erzeugt und damit dann zusammengefügt.
ZitatTTS_UseMP3Wrap
Optional: Für eine flüssige Sprachausgabe ist es zu empfehlen, die einzelnen vorher geladenen Sprachbausteine zu einem einzelnen Sprachbaustein zusammenfassen zu lassen bevor dieses per Mplayer ausgegeben werden. Dazu muss Mp3Wrap installiert werden.
apt-get install mp3wrap
Achtung: Nur bei einer lokal definierten Text2Speech-Instanz möglich!
Aber Du kannst das zum testen auch löschen.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

christian.71

#
  sonos-tts:
    image: svrooij/sonos-tts-polly
    volumes:
      - /home/josef/cache:/cache
    ports:
      - "5601:5601"
    environment:
      - SONOS_TTS_AMAZON_KEY=ABCDEFGHIJKLMNOPQRSTUVWXYZ
      - SONOS_TTS_AMAZON_SECRET=1234567890abcdefghijklmnopqrstuvwxyz
      - SONOS_TTS_AMAZON_REGION=eu-west-1
      - SONOS_TTS_CACHE_URI=http://192.168.57.34:5601/cache
      - SONOS_TTS_ALLOW_GET=true
      - SONOS_TTS_CACHE_FOLDER=/cache


Ich habe mal mit meiner docker Konfig verglichen. Ich habe bei mir eine andere Region:
- SONOS_TTS_AMAZON_REGION=eu-central-1
Probier die doch mal.

carlos

Ich habe mal eine Frage.
Kann Sonos2mqtt auch bei einem Sonos Move die Umschaltung zwischen Bluetooth und Wlan?
Das wäre cool wenn das gehen würde.
Auch batterie abfrage, im moment helfe ich mir so:

http://<IP>:1400/status/batterystatus
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

rallye

Zitat von: christian.71 am 07 Februar 2023, 15:52:59
Ich habe mal mit meiner docker Konfig verglichen. Ich habe bei mir eine andere Region:
- SONOS_TTS_AMAZON_REGION=eu-central-1
Probier die doch mal.

Danke, habe ich ohne Veränderung des Ergebnisses (Sonos für einige Zeit aus, in welcher der Text gesprochen werden sollte, und dann wieder an). Könnte es sein, dass ich bei der Definition/Einrichten von Amazon-Polly etwas falsch gemacht habe? Wie kann ich das testen?
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

rallye

Zitat von: Otto123 am 07 Februar 2023, 12:21:34
Zu dem Dockercontainer mit sonos-tts kann ich leider nicht viel sagen, ich betreibe den nicht.
Deine Definition sieht eigentlich gut aus.

Gruß Otto
Nun habe ich den TTS-Teil aus dem Docker heraus genommen und wollte es mal "zu Fuß" probieren. sonos2mqtt ist weiterhin im Docker und sieht nun sie aus:
version: '3'
services:
  sonos:
    image: ghcr.io/svrooij/sonos2mqtt
    # or the dockerhub svrooij/sonos2mqtt
    restart: unless-stopped
    ports:
      - "6329:6329"
    environment:
      - SONOS2MQTT_DEVICE=192.168.57.77 # Service discovery doesn't work very well inside docker, so start with one device.
      - SONOS2MQTT_MQTT=mqtt://192.168.57.34:1883 #
      # - SONOS2MQTT_DISTINCT=true # if your want distinct topics
      - SONOS_LISTENER_HOST=192.168.57.34 # Docker host IP
#      - SONOS_TTS_ENDPOINT=http://sonos-tts:5601/api/generate
#


Alle im ursprünglichen Post definierten Devices sind unverändert. Nach einem Neustart von sonos2mqtt im Docker lässt sich der Sonos One weiterhin steuern. Auch ein "pauseall" funktioniert. Aber ein TTS bekomme ich auc so nicht hin. Mit
MQTT2_DEVICE set MQTT2_RINCON_F0F6C18AF44201400 speak de-DE Vicki 25 Test
läuft der Radiosender einfach weiter, im FHEM-log nur ein Eintrag, dass der Befehl abgesetzt wurde und im Docker die Meldungen:
2023-02-07T15:14:38.271Z [Information] Starting sonos2mqtt v3.2.0
2023-02-07T15:14:38.339Z [Information] LogLevel changed to information
2023-02-07T15:14:38.418Z [Information] Found 1 sonos speakers
2023-02-07T15:14:38.714Z [Information] Mqtt connection changed to connected: true
2023-02-07T15:21:03.868Z [Warning] Error executing speak for Esszimmer (RINCON_F0F6C18AF44201400)
Error: TTS endpoint is required, check the documentation.
    at Function.TtsOptionsToNotification (/usr/local/lib/node_modules/sonos2mqtt/node_modules/@svrooij/sonos/lib/helpers/tts-helper.js:53:19)
    at SonosDevice.PlayTTS (/usr/local/lib/node_modules/sonos2mqtt/node_modules/@svrooij/sonos/lib/sonos-device.js:452:64)
    at Function.ExecuteCommand (/usr/local/lib/node_modules/sonos2mqtt/lib/sonos-command-mapping.js:103:41)
    at Function.ExecuteControl (/usr/local/lib/node_modules/sonos2mqtt/lib/sonos-command-mapping.js:8:46)
    at EventEmitter.<anonymous> (/usr/local/lib/node_modules/sonos2mqtt/lib/sonos-to-mqtt.js:84:84)
    at EventEmitter.emit (node:events:390:28)
    at SmarthomeMqtt.handleIncomingMessage (/usr/local/lib/node_modules/sonos2mqtt/lib/smarthome-mqtt.js:102:29)
    at MqttClient.<anonymous> (/usr/local/lib/node_modules/sonos2mqtt/lib/smarthome-mqtt.js:38:74)
    at MqttClient.emit (node:events:390:28)
    at MqttClient._handlePublish (/usr/local/lib/node_modules/sonos2mqtt/node_modules/mqtt/lib/client.js:1277:12)

Somit bekomme ich mittlerweile nicht mal mehr eine "normale" TTS-Ausgabe hin.

Als Anmerkung: die gesamte npm-Umgebung habe ich nicht installiert, da mein sonsos2mqtt im Docker läuft.

An der Lösung wäre mir gelegen, da ich sonst nicht verifizieren kann, dass nicht das Amazon-Polly das Problem darstellt.

Danke
RaspiPi v4, HM-LGW, 6x HM-TC-IT-WM-W-EU, 11x HM-CC-RT-DN, 1x HUE Bridge, 4x HUE-RC, 5x HUE White&Color, 15xHUE White, 3xHM-LC-SW1-FM, 1xHM-LC-SW2-FM, 1x ConBeeII, 15x Shelly1, 5xShellyplug, Aquara: 2x Temp-Sensor, 1x Vibrationssensor, 2x Lichtsensor, 19x Tür/Fenstersensor

Otto123

der speak Befehl "codiert" ob sonos-tts oder SonosTTS verwendet wird :)
set MQTT2_RINCON_F0F6C18AF44201400 speak de-DE Vicki 25 Test
so mit Text2Speech
set MQTT2_RINCON_F0F6C18AF44201400 speak 25 Test
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Otto123

Zitat von: carlos am 07 Februar 2023, 16:04:48
Ich habe mal eine Frage.
Kann Sonos2mqtt auch bei einem Sonos Move die Umschaltung zwischen Bluetooth und Wlan?
Das wäre cool wenn das gehen würde.
Auch batterie abfrage, im moment helfe ich mir so:

http://<IP>:1400/status/batterystatus
Ich weiß nicht ob das per mqtt übertragen / gefunden wird. Da musst Du bei Stephan schauen ob Du was findest und ihn eventuell fragen.
https://sonos2mqtt.svrooij.io/control/commands.html
Oder wird das in der App als LineInput dargestellt?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

carlos

Ich habe dazu bisher nichts gefunden auch in der App kann man das nicht umstellen.
Nur mit dem Taster am Move selbst.
Scheint in der Hardware selbst zu sein.
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

svrooij

Hi my German friends,

I'll do this in English because meine Deutsch is nicht ser gut.

The latest beta of sonos2mqtt https://github.com/svrooij/sonos2mqtt/releases/tag/v3.2.0-beta.12 has support for the AudioClip endpoint for sending notifications. This is the native sonos way to play notifications and is super stable.
You can try it out by installing the latest beta (3.2.0-beta.12) and starting the application with the --experimental flag. I'm really curious to your feedback.
So if you have feedback please let me know here https://github.com/svrooij/sonos2mqtt/discussions/191

eine schone abend gewunst!
Stephan (aus Niederlande)
Hardcore software developer. See https://github.com/svrooij/

svrooij

Zitat von: carlos am 07 Februar 2023, 16:04:48
Ich habe mal eine Frage.
Kann Sonos2mqtt auch bei einem Sonos Move die Umschaltung zwischen Bluetooth und Wlan?
Das wäre cool wenn das gehen würde.
Auch batterie abfrage, im moment helfe ich mir so:

http://<IP>:1400/status/batterystatus

Can you provide the exact output of that http request in a new issue here https://github.com/svrooij/node-sonos-ts then I'll implement it in sonos2mqtt eventually, for all speakers that have a battery.
Hardcore software developer. See https://github.com/svrooij/