OH3 - Sonos Notification funktioniert nicht

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Ezeqeel
Beiträge: 31
Registriert: 27. Okt 2020 08:16
Answers: 0

OH3 - Sonos Notification funktioniert nicht

Beitrag von Ezeqeel »

Hallo,

ich versuche gerade das Klingelsignal der Doorbird auf den Sonos Lautsprechern auszugeben.
Die Rule wird getriggert, aber auf den Sonos kommt nichts raus.
Ich habe einige Threads gefunden, die von Problemen mit Audioausgabe auf Sonos handeln.
Für mich war da aber bisher keine Lösung dabei.

Zuerst hatte ich versucht das item "notificationsound" von Sonos direkt anzusprechen.
Im Binding habe ich die doorbell.mp3 als Callback URL über http://192.168.1.30:8080/static/doorbell.mp3 zur Verfügung gestellt.
Die mp3 kann ich im Browser auch aufrufen.
Die sonos things habe ich erst über die GUI, jetzt aber über ein file konfiguriert und die Lautstärke der notification auf 25% gesetzt.
Trotzdem bleibt die Audioausgabe stumm.

Dann habe ich versucht die Ausgabe über den playsound zu realisieren.
In der Console habe ich versucht den Sound manuell abzuspielen.

Code: Alles auswählen

openhab:audio play sonos:CONNECTAMP:RINCON_5CABFDEACC0000000 doorbell.mp3 25
Da hört man am Lautsprecher, dass er aufwacht, aber der Sound wird trotzdem nicht abgespielt.

Ich bin etwas ratlos was ich noch ausprobieren könnte.

Danke und Grüße
Sven

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: OH3 - Sonos Notification funktioniert nicht

Beitrag von udo1toni »

Die Frage wäre erst mal, ob die Sonos Steuerung grundsätzlich funktioniert.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Ezeqeel
Beiträge: 31
Registriert: 27. Okt 2020 08:16
Answers: 0

Re: OH3 - Sonos Notification funktioniert nicht

Beitrag von Ezeqeel »

Jepp, Sonos funktioniert sowohl über die App, als auch per KNX und openhab.
Nur die Notification macht bei allen Boxen Probleme.

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: OH3 - Sonos Notification funktioniert nicht

Beitrag von udo1toni »

Dann machst Du da irgendwo einen Fehler :) Wie sieht denn Deine Regel dafür aus?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Ezeqeel
Beiträge: 31
Registriert: 27. Okt 2020 08:16
Answers: 0

Re: OH3 - Sonos Notification funktioniert nicht

Beitrag von Ezeqeel »

Das ist die sonos.things, die ich angelegt habe, nachdem das auto discovery in anderen threads als Problem genannt wurde:

Code: Alles auswählen

Thing sonos:CONNECTAMP:RINCON_5CAAFD000B0001400 [udn="RINCON_5CAAFDEABB0001400", refresh=60, notificationVolume=25]
Thing sonos:PLAY1:RINCON_B8E00046E0C01400 [udn="RINCON_B8E00046E0C01400", refresh=60, notificationVolume=25]
Thing sonos:Beam:RINCON_48A6000EC6E01400 [udn="RINCON_48A6000EC6E01400", refresh=60, notificationVolume=25]
In der Console lässt sich aber mit keinem der Sonos das Audio ausgeben. Die doorbell.mp3 liegt im Standard-Ordner sounds.

Exemplarisch ein paar items eines things:

Code: Alles auswählen

Player SonosBeamKuche_Fernbedienung "Sonos Beam"            <player> (gSonos,EG_Kueche) { channel="sonos:Beam:RINCON_48A6000EC6E01400:control" }
Dimmer SonosBeamKuche_Lautstarke    "Volume [%.1f %%]" <soundvolume> (gSonos,EG_Kueche) { channel="sonos:Beam:RINCON_48A6000EC6E01400:volume" }
Switch SonosBeamKuche_Stummschalten "Mute"        <soundvolume_mute> (gSonos,EG_Kueche) { channel="sonos:Beam:RINCON_48A6000EC6E01400:mute" }
Switch SonosBeamKuche_Shuffle       "Shuffle"        <sonos_shuffle> (gSonos,EG_Kueche) { channel="sonos:Beam:RINCON_48A6000EC6E01400:shuffle" }
String SonosBeamKuche_repeat        "Repeat [%s]"             <text> (gSonos,EG_Kueche) { channel="sonos:Beam:RINCON_48A6000EC6E01400:repeat" }
Image  SonosBeamKuche_Coverbild     "Cover"                  <image> (gSonos,EG_Kueche) { channel="sonos:Beam:RINCON_48A6000EC6E01400:currentalbumart" }
String SonosBeamKuche_Kunstler      "Künstler"                <text> (gSonos,EG_Kueche) { channel="sonos:Beam:RINCON_48A6000EC6E01400:currentartist" }
String SonosBeamKuche_Album         "Album"                   <text> (gSonos,EG_Kueche) { channel="sonos:Beam:RINCON_48A6000EC6E01400:currentalbum" }
String SonosBeamKucheState          "Status"                  <text> (gSonos,EG_Kueche) { channel="sonos:Beam:RINCON_48A6000EC6E01400:state" }
String SonosBeamKucheTitle          "Titel"                   <text> (gSonos,EG_Kueche) { channel="sonos:Beam:RINCON_48A6000EC6E01400:currenttitle" }
String SonosBeamKucheNotification   "Notification Sound [%s]" <text> (gSonos,EG_Kueche) { channel="sonos:Beam:RINCON_48A6000EC6E01400:notificationsound" }
Das funktioniert alles.
Das ist die rule zum Türgong:

Code: Alles auswählen

rule "Es klingelt an der Haustür"
when
    Item Doorbell_Pressed changed from OFF to ON
then
    logInfo("Doorbird", "Es hat geklingelt. Jemand steht vor der Tür")
    SonosBeamKucheNotification.sendCommand(ON)
// playSound("sonos:Beam: RINCON_48A6000EC6E01400", "doorbell.mp3") //hat auch nicht funktioniert
end
Im Binding habe ich die doorbell.mp3 als Callback URL über http://192.168.1.30:8080/static/doorbell.mp3 zur Verfügung gestellt.
Wobei ich zugeben muss, dass ich die Variante ziemlich unflexibel finde, weil man nur eine URL angeben kann. Da wäre die Lösung per playSound wesentlich besser nutzbar. Soweit ich verstanden habe, soll openhab den playSound ja trotzdem an den Notification-Kanal des Sonos übergeben. Es sollte also genauso funktionieren.
In der Doku (oder irgendwo drum herum) habe ich unterschiedliche Angaben zum Sonos Binding gelesen. Der Type von notificationsound ist ja string. Daher dachte ich zuerst, ich kann im sendCommand den Pfad zur mp3 mitgeben. Da kommt aber im log, dass man nur onofftype verwenden dürfe. Da wundert mich dann aber der item-type. Auf type=Switch umzustellen hilft aber auch nicht.

Im den logs sieht das dann so aus, wenn ich die Klingel betätige.
openhab.log

Code: Alles auswählen

2022-02-08 23:00:11.032 [INFO ] [g.openhab.core.model.script.Doorbird] - Es hat geklingelt. Jemand steht vor der Tür
event.log

Code: Alles auswählen

2022-02-08 23:00:11.036 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'SonosAmpBueroNotification' received command ON
2022-02-08 23:00:11.037 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'SonosAmpBueroNotification' predicted to become ON
2022-02-08 23:00:11.037 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SonosAmpBueroNotification' changed from OFF to ON
Danke schon mal!
Zuletzt geändert von Ezeqeel am 9. Feb 2022 22:36, insgesamt 1-mal geändert.

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: OH3 - Sonos Notification funktioniert nicht

Beitrag von udo1toni »

Ich hab mal Deine Items umformatiert... Eigentlich kann das gar nicht funktionieren, denn Du hast in der UID ein Leerzeichen drin, das ist nicht erlaubt. Oder ist das nur beim Reinkopieren passiert?
Der Channel notificationsound ist ein String Channel und erwartet eine URI zur abzuspielenden Datei (vgl. auch die offizielle Doku)

Auch die playSound Action stellt das Audio über eine URI zur Verfügung. Die Sonos begrenzen dabei die mögliche Länge des Audio auf 20 Sekunden. In Deinem Fall soltle der Befehl so lauten:

Code: Alles auswählen

playSound("sonos:Beam:RINCON_48A6000EC6E01400", "doorbell.mp3", new PercentType(50))
Die 50 nur mal als Versuch, ob es nicht einfach nur zu leise ist. Und bitte auf das Leerzeichen achten, was da definitiv nicht hingehört.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Ezeqeel
Beiträge: 31
Registriert: 27. Okt 2020 08:16
Answers: 0

Re: OH3 - Sonos Notification funktioniert nicht

Beitrag von Ezeqeel »

Oh, sorry erstmal für die Schlampigkeit. Das Leerzeichen muss beim kopieren reingekommen sein. In den Files sind sie nicht enthalten.

Ich hab den playSound von dir so in die rule übernommen, es tut aber leider nach wie vor nicht.

Im Log sieht man, dass die rule anspringt, es wird sogar die Lautstärke auf 50 gesetzt, der Status des Players wird auf STOPPED gesetzt, usw.
Nur der Sound wird nicht ausgegeben. Was mich etwas wundert ist, dass Künstler/Album/Titel gewechselt werden während eigentlich der Türgong gespielt werden sollte. Dieser Wechsel wird dann auch wieder zurück genommen. Das macht doch keinen Sinn?!?
Auch seltsam ist, dass die Lautstärke zuerst von den gerade eingestellten 14% auf die 50% vom playSound-Command hochgeht, dann aber auf 25% abfällt (notificationVolume aus der things Datei), und nach 20 Sekunden wieder auf die 14% fällt.

openhab.log

Code: Alles auswählen

2022-02-09 22:38:44.569 [INFO ] [g.openhab.core.model.script.Doorbird] - Es hat geklingelt. Jemand steht vor der Tür
event.log

Code: Alles auswählen

2022-02-09 22:38:44.543 [INFO ] [openhab.event.ChannelTriggeredEvent ] - doorbird:d210x:cff65ff45e:doorbell triggered PRESSED
2022-02-09 22:38:44.544 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'Doorbell_Pressed' received command ON
2022-02-09 22:38:44.544 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'Doorbell_Pressed' predicted to become ON
2022-02-09 22:38:44.546 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Doorbell_Pressed' changed from OFF to ON
2022-02-09 22:38:44.582 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SonosBeamKuche_Lautstarke' changed from 14 to 50
2022-02-09 22:38:44.592 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SonosBeamKuche_Kunstler' changed from Bury Tomorrow to Thy Art Is Murder
2022-02-09 22:38:44.592 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SonosBeamKuche_Album' changed from Runes to Dear Desolation
2022-02-09 22:38:44.592 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SonosBeamKuche_Titel' changed from Man on Fire to Slaves Beyond Death
2022-02-09 22:38:44.593 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SonosBeamKucheTitle' changed from Man on Fire to Slaves Beyond Death
2022-02-09 22:38:44.593 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SonosBeamKucheState' changed from PAUSED_PLAYBACK to STOPPED
2022-02-09 22:38:44.839 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SonosBeamKuche_Lautstarke' changed from 50 to 25
2022-02-09 22:39:04.680 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SonosBeamKuche_Lautstarke' changed from 25 to 14
2022-02-09 22:39:04.693 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SonosBeamKuche_Kunstler' changed from Thy Art Is Murder to Bury Tomorrow
2022-02-09 22:39:04.693 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SonosBeamKuche_Album' changed from Dear Desolation to Runes
2022-02-09 22:39:04.694 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SonosBeamKuche_Titel' changed from Slaves Beyond Death to Man on Fire
2022-02-09 22:39:04.694 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'SonosBeamKucheTitle' changed from Slaves Beyond Death to Man on Fire
2022-02-09 22:39:14.544 [INFO ] [openhab.event.ChannelTriggeredEvent ] - doorbird:d210x:cff65ff45e:doorbell triggered RELEASED
2022-02-09 22:39:14.544 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'Doorbell_Pressed' received command OFF
2022-02-09 22:39:14.545 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'Doorbell_Pressed' predicted to become OFF
2022-02-09 22:39:14.547 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Doorbell_Pressed' changed from ON to OFF

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: OH3 - Sonos Notification funktioniert nicht

Beitrag von udo1toni »

Das spräche dafür, dass entweder die Datei nicht ausgeliefert wird (das hast Du ja aber schon ausgeschlossen), oder aber, dass die Sonos das Dateiformat nicht abspielen kann.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Ezeqeel
Beiträge: 31
Registriert: 27. Okt 2020 08:16
Answers: 0

Re: OH3 - Sonos Notification funktioniert nicht

Beitrag von Ezeqeel »

Naja, ob die lokal im sounds/ Ordner gespeicherte Datei, die ja für die Funktion playSound verwendet wird, wirklich ausgeliefert wird, weiß ich nicht. Ich habe nur die gleiche Datei in den Ordner static/ kopiert um sie per http aufrufen zu können. Das funktioniert im Browser.

Die gleiche Datei habe ich mal lokal auf den Laptop kopiert und über die Sonos abgespielt. Das hat funktioniert

Ich bin etwas ratlos....

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 243
Wohnort: Darmstadt

Re: OH3 - Sonos Notification funktioniert nicht

Beitrag von udo1toni »

Leider kenne ich mit Sonos nicht wirklich aus. Entsprechend habe ich vorerst auch keine Idee mehr, außer den Tipp, mal im englischen Forum nachzufragen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten