ioBroker / ioBroker.sonos

Control and monitor SONOS player from ioBroker
MIT License
37 stars 19 forks source link

Coordinator Volume setzen geht nicht mehr richtig #149

Closed Stormbringer11 closed 2 years ago

Stormbringer11 commented 2 years ago

Hallo,

wollte gerade einen Taster zur Volumensteuerung installieren dabei ist mir folgender Bug aufgefallen:

Wenn der Coordinator in der Gruppe ist, wird einfach ein ganz anderer Wert umgesetzt. Selbst wenn man es bei den Objekten direkt eingibt wird aus einem "8" z. B. ein "11". Bei den anderen Player der Gruppe funktioniert es nach wie vor einwandfrei. Wenn man den Coordinator alleine (ohne andere Player) betreibt funktioniert das Volumen setzen auch wie erwartet. Kann nur leider nicht sagen seit wann das Problem besteht. Im Log taucht nichts verdächtiges auf, er ändert den Wert einfach.

Sonos Adapter Version: 2.1.7 Admin 5.3.1 JS-Controller 4.0.21 Node.js 14.19.0 npm 6.14.16

Wäre nett, wenn ihr euch das mal anschauen könntet.

mifrit00 commented 2 years ago

Ich habe das gleiche Problem und würde mich auch über einen Fix freuen.

Orti85 commented 2 years ago

Ich kann das Problem auch nur bestätigen. Jedoch konnte ich es noch in soweit eingrenzen, dass das setzten der einzel Volumen sowie group Volumen funktioniert. Beim Feedback der Master players wird nur leider die Rückmeldung des Group Volumen auch als einzel Volumen des Master players übernommen womit die Anzeige des Istwertes sich nicht mit der Realität deckt. Nach zu vollziehen indem man die Werte parallel in der Sonos App verfolgt.

Vielleicht kann sich dies einmal ein developer anschauen. Sonst kann ich nur sagen danke für das geile Plugin.

Gruß Orti

Rello commented 2 years ago

+1 on this one.

The coordinator level.volume is always set the same as the level.volume.group

The resulting problem is, that when you have different speakers in a group, the group volume is a calculated average and does not reflect the current coordinator level.volume

In my case I want to set the group members to a factored lower value than the coordinator due to placing. but this does not work with the current issue

thank you

Rello commented 2 years ago

I think the problem is this section:

https://github.com/ioBroker/ioBroker.sonos/blob/master/main.js#L1646-L1673

following logs:

this would be all good then. but unfortulately , this trigger overwites the displayed Volume wrongly group-volume: Volume for http://192.168.0.25:1400: 26 https://github.com/ioBroker/ioBroker.sonos/blob/master/main.js#L1646

so the last trigger messes everything up and should be removed in my opinion

gaga191281 commented 2 years ago

+1. A really annoying bug. This makes the adapter nearly unusable when used with groups. Because of unexpected volume changes of the coordinator when volume changed from another room.

Apollon77 commented 2 years ago

Ok, the question is now why this code is in :-) I think the assumption is that the group volume will be adjusted as soon as you set the volume for one group member ... If this is not that way I can remove these lines ...

Rello commented 2 years ago

thats a good question. perhaps from earlier, where these values were updated in 2 updates and now all is coming in one? no clue. but as tested, I thinks its obsolet. Just give it a try and in worst case, revert it

gaga191281 commented 2 years ago

The datapoint groupVolume is to change the volume of the whole group, isn‘t it?

Apollon77 commented 2 years ago

Then you are welcome to check the GitHub version! (version number will not change, GitHub installs can take 10+mins with npm6 currently ... stay patience). Please tell if anything still work

gaga191281 commented 2 years ago

Will try it next week. I am out of town over the holidays.

Apollon77 commented 2 years ago

Ok, will aeaitz until release, or @Rello, @mifrit00 , @Stormbringer11 maybe available for a check with GitHub version?

Rello commented 2 years ago

Hello, Any how to on testing a github version? Still new on IO

Apollon77 commented 2 years ago

If you have admin v5 then: enable expert mode, a new icon appears with a github symbol "Custom install", use the "from github "tab there and select adapter.

If you already uise admin v6 then there is a bug currently - use the "from URL" in the custom install dialog and enter https://github.com/ioBroker/ioBroker.sonos as URL

GitHub installs can take 10ü+ mins with npm6 right nwo ... just wait for it to be done

Rello commented 2 years ago

Thank you. Download worked. Will verify this evening

gaga191281 commented 2 years ago

For some reason the datapoint 'volume' of the coordinator gets still adjusted when the volume of another player in that group is changed. It looks like instead of the 'groupVolume' the 'volume' datapoint gets changed.

gaga191281 commented 2 years ago

It looks like the problem is, that in the event handling of group-volume the volume of the player is set.

https://github.com/ioBroker/ioBroker.sonos/blob/c4a6c9b10662704115588a0837ae3d7f8ee0415c/main.js#L1682

after changing it to group_volume it works for me.

Rello commented 2 years ago

Hello,

your suggestion seems to be correct also here. from the log:

volume: Volume for http://192.168.0.25:1400: 20
volume: Volume for http://192.168.0.24:1400: 10
group-volume: Volume for http://192.168.0.25:1400: 15

this also suggests, that the group volume (15, which is correct) is overwritten to the "volume" in the line 1682 mentioned above. I would also suggest to change it to adapter.setState({device: 'root', channel: ip, state: 'group_volume'}, {val: data.newVolume, ack: true});

Apollon77 commented 2 years ago

Ok, thank you, I did the same change now on GitHub ... please check that again

Rello commented 2 years ago

Hi, good news - scripting now works because the volume values are correct. nice one. side note is, that the group_volume is not set for me anymore. did you try @gaga191281 ? in my case I don´t care about group_volume, but...

I am now just getting these messages State "sonos.0.root.192_168_0_25.group-volume" has no existing object, this might lead to an error in future versions

gaga191281 commented 2 years ago

@Rello strange. Works for me. group-volume is changed, but only for the coordinator. To be honest, I don't know if this is expected or if the value of each group member should be changed. Regarding your error message, I don't get this message.