Symfonisk volume control media_player (Sonos) automation

Could you then post in here the AppDaemon logs when you change the volume?

2020-12-18 20:01:47.115881 INFO livingroom_speakers: 🎮 Button event triggered: `brightness_stop`
2020-12-18 20:01:47.158332 INFO livingroom_speakers: 🏃 Running `release` now
2020-12-18 20:01:47.276308 INFO livingroom_speakers: 🤖 Service: media_player.volume_set
2020-12-18 20:01:47.312017 INFO livingroom_speakers:   - entity_id: media_player.kuche
2020-12-18 20:01:47.359948 INFO livingroom_speakers:   - volume_level: 0.13
2020-12-18 20:01:49.480714 INFO livingroom_speakers: 🤖 Service: media_player.volume_set
2020-12-18 20:01:49.536172 INFO livingroom_speakers:   - entity_id: media_player.kuche
2020-12-18 20:01:49.599518 INFO livingroom_speakers:   - volume_level: 0.19
2020-12-18 20:01:49.736602 INFO livingroom_speakers: 🤖 Service: media_player.volume_set
2020-12-18 20:01:49.778824 INFO livingroom_speakers:   - entity_id: media_player.kuche
2020-12-18 20:01:49.835459 INFO livingroom_speakers:   - volume_level: 0.26
2020-12-18 20:01:50.787218 INFO livingroom_speakers: 🤖 Service: media_player.volume_set
2020-12-18 20:01:50.839364 INFO livingroom_speakers:   - entity_id: media_player.kuche
2020-12-18 20:01:50.919647 INFO livingroom_speakers:   - volume_level: 0.33
2020-12-18 20:01:51.332093 WARNING AppDaemon: Excessive time spent in utility loop: 6251.0ms, 6250.0ms in check_app_updates(), 1.0ms in other
2020-12-18 20:01:51.391759 INFO livingroom_speakers: 🤖 Service: media_player.volume_set
2020-12-18 20:01:51.415372 INFO livingroom_speakers:   - entity_id: media_player.kuche
2020-12-18 20:01:51.439634 INFO livingroom_speakers:   - volume_level: 0.39
2020-12-18 20:01:52.987472 INFO livingroom_speakers: 🤖 Service: media_player.volume_set
2020-12-18 20:01:53.043665 INFO livingroom_speakers:   - entity_id: media_player.kuche
2020-12-18 20:01:53.095156 INFO livingroom_speakers:   - volume_level: 0.46
2020-12-18 20:01:53.421418 INFO livingroom_speakers: 🤖 Service: media_player.volume_set
2020-12-18 20:01:53.458744 INFO livingroom_speakers:   - entity_id: media_player.kuche
2020-12-18 20:01:53.550141 INFO livingroom_speakers:   - volume_level: 0.53
2020-12-18 20:01:53.762143 INFO livingroom_speakers: 🤖 Service: media_player.volume_set
2020-12-18 20:01:53.829108 INFO livingroom_speakers:   - entity_id: media_player.kuche
2020-12-18 20:01:53.879893 INFO livingroom_speakers:   - volume_level: 0.59
2020-12-18 20:01:54.389638 INFO livingroom_speakers: 🤖 Service: media_player.volume_set
2020-12-18 20:01:54.411938 INFO livingroom_speakers:   - entity_id: media_player.kuche
2020-12-18 20:01:54.435473 INFO livingroom_speakers:   - volume_level: 0.66
2020-12-18 20:01:54.833910 INFO livingroom_speakers: 🤖 Service: media_player.volume_set
2020-12-18 20:01:54.857787 INFO livingroom_speakers:   - entity_id: media_player.kuche
2020-12-18 20:01:54.881443 INFO livingroom_speakers:   - volume_level: 0.73
2020-12-18 20:01:55.314780 INFO livingroom_speakers: 🤖 Service: media_player.volume_set
2020-12-18 20:01:55.352004 INFO livingroom_speakers:   - entity_id: media_player.kuche
2020-12-18 20:01:55.375759 INFO livingroom_speakers:   - volume_level: 0.79
2020-12-18 20:01:55.817019 INFO livingroom_speakers: 🤖 Service: media_player.volume_set
2020-12-18 20:01:55.859395 INFO livingroom_speakers:   - entity_id: media_player.kuche
2020-12-18 20:01:55.884585 INFO livingroom_speakers:   - volume_level: 0.86
2020-12-18 20:01:56.121649 INFO livingroom_speakers: 🤖 Service: media_player.volume_set
2020-12-18 20:01:56.173273 INFO livingroom_speakers:   - entity_id: media_player.kuche
2020-12-18 20:01:56.222656 INFO livingroom_speakers:   - volume_level: 0.93
2020-12-18 20:01:56.795970 WARNING AppDaemon: Excessive time spent in utility loop: 4418.0ms, 4417.0ms in check_app_updates(), 1.0ms in other
2020-12-18 20:01:57.063555 INFO livingroom_speakers: 🤖 Service: media_player.volume_set
2020-12-18 20:01:57.140030 INFO livingroom_speakers:   - entity_id: media_player.kuche
2020-12-18 20:01:57.193546 INFO livingroom_speakers:   - volume_level: 0.99
2020-12-18 20:01:57.549033 INFO livingroom_speakers: 🤖 Service: media_player.volume_set
2020-12-18 20:01:57.602834 INFO livingroom_speakers:   - entity_id: media_player.kuche
2020-12-18 20:01:57.622187 INFO livingroom_speakers:   - volume_level: 1
2020-12-18 20:01:57.925747 INFO livingroom_speakers: 🤖 Service: media_player.volume_set
2020-12-18 20:01:58.000514 INFO livingroom_speakers:   - entity_id: media_player.kuche
2020-12-18 20:01:58.073104 INFO livingroom_speakers:   - volume_level: 1
2020-12-18 20:01:58.455023 WARNING AppDaemon: callback idle has now completed
2020-12-18 20:02:01.992354 INFO livingroom_speakers: 🎮 Button event triggered: `brightness_move_down`
2020-12-18 20:02:02.080921 INFO livingroom_speakers: 🏃 Running `hold_volume_down` now
2020-12-18 20:02:02.296961 INFO livingroom_speakers: 🎮 Button event triggered: `brightness_stop`
2020-12-18 20:02:02.341486 INFO livingroom_speakers: 🏃 Running `release` now
2020-12-18 20:02:02.479450 INFO livingroom_speakers: 🤖 Service: media_player.volume_set
2020-12-18 20:02:02.591509 INFO livingroom_speakers:   - entity_id: media_player.kuche
2020-12-18 20:02:02.673632 INFO livingroom_speakers:   - volume_level: 0.93

i have rotated the controller to the right , maybe 30-40° as u can see volume ist going high without touching the controller…

And what is the delay you set? I would play around with this parameter to find a value that satisfies your necessities and it does not spam too much HA. Also, which device did you install Home Assistant in? I have tried this on Raspberry 3b+ and Raspberry 4 and it works nicely in my case with a Google Home Mini, which also allows volume set as your SONOS.

siemns futro s900 4gb ram , i dont rly know where the problem is…
z2mqtt lon is looking fine
i will try to use https://www.zigbee2mqtt.io/devices/E1524_E1810.html as a sound controller and report.

1 Like

I really don’t know where is the problem then… Have you restarted z2m and AppDaemon after all changes you made, right?

ControllerX has an example page for the E1810 and SONOS in here. It was written by @htvekov.

If you figure out the problem, let me know, I am curious.

Cheers,

Hi’ @plbartek89 / @xaviml

Using a E1810 with my HA Sonos integration works OK.
No real issues at my end.
Your logs seems to indicate some loop issues with the E1744 ‘hanging’ for many seconds ?
Unfortunately can’t assist with this, as I’ve no E1744 to play with.

Currently I’m using delay: 150 and volume_steps: 20 to control my group of Sonos speakers.
Both HA (running on a dedicated NUC) and Sonos app on phone reports simultaniously volume changes with reasonable low lag.
Occationally I experience some sluggish behaviour, which I believe is Zigbee related.
Currently using a quite overloaded (some 35+ devices) cc2531 stick whichis to be replaced with a brand new zzh stick which I’ve just bought.
When I get to redo my entire zigbee network with the zzh stick, I expect better and more reliable response from all my zigbee end devices and routing issues should also be long gone as well.

Ciao !

1 Like

The loop issues are more likely appdeamon itself having issues or… ?
Xavi, is this a loop issue within ControllerX app code, causing some callbacks not being fired timely.
Or appdeamon itself that might ‘believe’ that there’s an issue with the utility loop in general ?

I’ve never seen this loop issue in any of my appdeamon logs before.

Hi’ @plbartek89

Considering the sh*tloads of zigbee payloads that this controller can issue per second, you might want to cut down on all unnessecary payloads using legacy: false and perhaps play with the debounce options to cut down on the excessive flow of zigbee commands/payloads.

Ciao !

I just saw this post from the community forum explaining why the warning appears.

When changing the volume, ControllerX executes a loop that sends requests to HA. If you lower down the delay attribute (default 350ms), it will make that loop go faster and send more request to HA, therefore, overloading HA with requests. This is why I was recommending to change this delay to some value higher than 350 if needed. To see if those warnings still appear.

Cheers,

hello guys , i connected now my e1810 , its working much much better , but still with problems.
config :

example_app:
    module: controllerx
    class: E1810MediaPlayerController
    controller: sensor.e1810_action
    integration: z2m
    media_player: media_player.kuche
    volume_steps: 15
    delay: 550

i tried also 250 350 450 delay.

appdemon log :


2020-12-19 13:17:34.648607 INFO example_app: 🏃 Running `click_volume_down` now
2020-12-19 13:17:34.725384 INFO example_app: 🤖 Service: media_player.volume_set
2020-12-19 13:17:34.754425 INFO example_app:   - entity_id: media_player.kuche
2020-12-19 13:17:34.802139 INFO example_app:   - volume_level: 0.46
2020-12-19 13:17:35.865126 INFO example_app: 🎮 Button event triggered: `brightness_down_click`
2020-12-19 13:17:35.881561 INFO example_app: 🏃 Running `click_volume_down` now
2020-12-19 13:17:35.917805 INFO example_app: 🤖 Service: media_player.volume_set
2020-12-19 13:17:35.942218 INFO example_app:   - entity_id: media_player.kuche
2020-12-19 13:17:35.959918 INFO example_app:   - volume_level: 0.46
2020-12-19 13:17:36.359121 WARNING AppDaemon: Excessive time spent in utility loop: 3695.0ms, 3694.0ms in check_app_updates(), 1.0ms in other
2020-12-19 13:17:36.654906 INFO example_app: 🎮 Button event triggered: `brightness_down_click`
2020-12-19 13:17:36.676676 INFO example_app: 🏃 Running `click_volume_down` now
2020-12-19 13:17:36.707603 INFO example_app: 🤖 Service: media_player.volume_set
2020-12-19 13:17:36.727222 INFO example_app:   - entity_id: media_player.kuche
2020-12-19 13:17:36.763055 INFO example_app:   - volume_level: 0.46
2020-12-19 13:17:45.422091 INFO example_app: 🎮 Button event triggered: `brightness_down_click`
2020-12-19 13:17:45.453772 INFO example_app: 🏃 Running `click_volume_down` now
2020-12-19 13:17:45.493460 INFO example_app: 🤖 Service: media_player.volume_set
2020-12-19 13:17:45.520711 INFO example_app:   - entity_id: media_player.kuche
2020-12-19 13:17:45.539351 INFO example_app:   - volume_level: 0.39
2020-12-19 13:17:55.890967 INFO example_app: 🎮 Button event triggered: `brightness_down_hold`
2020-12-19 13:17:55.907501 INFO example_app: 🏃 Running `hold_volume_down` now
2020-12-19 13:17:55.946330 INFO example_app: 🤖 Service: media_player.volume_set
2020-12-19 13:17:55.968572 INFO example_app:   - entity_id: media_player.kuche
2020-12-19 13:17:55.987740 INFO example_app:   - volume_level: 0.32
2020-12-19 13:17:56.968986 INFO example_app: 🎮 Button event triggered: `brightness_down_release`
2020-12-19 13:17:56.985473 INFO example_app: 🏃 Running `release` now
2020-12-19 13:18:00.694578 INFO example_app: 🎮 Button event triggered: `brightness_down_click`
2020-12-19 13:18:00.711153 INFO example_app: 🏃 Running `click_volume_down` now
2020-12-19 13:18:00.759820 INFO example_app: 🤖 Service: media_player.volume_set
2020-12-19 13:18:00.782467 INFO example_app:   - entity_id: media_player.kuche
2020-12-19 13:18:00.804844 INFO example_app:   - volume_level: 0.25
2020-12-19 13:18:04.794645 INFO example_app: 🎮 Button event triggered: `brightness_down_click`
2020-12-19 13:18:04.816305 INFO example_app: 🏃 Running `click_volume_down` now
2020-12-19 13:18:04.849733 INFO example_app: 🤖 Service: media_player.volume_set
2020-12-19 13:18:04.867897 INFO example_app:   - entity_id: media_player.kuche
2020-12-19 13:18:04.890272 INFO example_app:   - volume_level: 0.18

as you can see loop problems are still there… i dont know why :unamused:

Hi’ @plbartek89

Well, somethings definitely wrong - most likely your appdeamon HA integration.
Can’t really pinpoint what seems to be the issue other than your appdeamon struggles with utility loop issues.
What hardware are you using for your HA/appdeamon ?
Are zigbee responses in log instantly or also delayed/sluggish ?

I’ve been running quite smoothy on my ‘old’ RPI3+ and my current dedicated HA NUC setup is even faster.

This is my log with exact same set-up (delay and volume_step) and identical controller.
Some 10 seconds for a full volume 0.00 to 1.00 (keep volume up/down button pressed) as expected with this delay/volume_steps setting.

With this particular setup controlling volume is quite sluggish.
I use volume_steps: 20 and delay at 150 (or 200) and is quite happy with my response time.

2020-12-19 22:12:24.596659 INFO sonos_speaker: 🎮 ControllerX v4.2.0
2020-12-19 22:12:36.624972 INFO sonos_speaker: 🎮 Button event triggered: `brightness_up_hold`
2020-12-19 22:12:36.629162 INFO sonos_speaker: 🏃 Running `hold_volume_up` now
2020-12-19 22:12:36.644955 INFO sonos_speaker: 🤖 Service: media_player.volume_set
2020-12-19 22:12:36.649812 INFO sonos_speaker:   - entity_id: group.sonos_all
2020-12-19 22:12:36.654357 INFO sonos_speaker:   - volume_level: 0.07
2020-12-19 22:12:37.356454 INFO sonos_speaker: 🤖 Service: media_player.volume_set
2020-12-19 22:12:37.362601 INFO sonos_speaker:   - entity_id: group.sonos_all
2020-12-19 22:12:37.366974 INFO sonos_speaker:   - volume_level: 0.13
2020-12-19 22:12:38.024801 INFO sonos_speaker: 🤖 Service: media_player.volume_set
2020-12-19 22:12:38.030614 INFO sonos_speaker:   - entity_id: group.sonos_all
2020-12-19 22:12:38.034957 INFO sonos_speaker:   - volume_level: 0.20
2020-12-19 22:12:38.700832 INFO sonos_speaker: 🤖 Service: media_player.volume_set
2020-12-19 22:12:38.705491 INFO sonos_speaker:   - entity_id: group.sonos_all
2020-12-19 22:12:38.709867 INFO sonos_speaker:   - volume_level: 0.27
2020-12-19 22:12:39.383833 INFO sonos_speaker: 🤖 Service: media_player.volume_set
2020-12-19 22:12:39.388352 INFO sonos_speaker:   - entity_id: group.sonos_all
2020-12-19 22:12:39.392756 INFO sonos_speaker:   - volume_level: 0.33
2020-12-19 22:12:40.044917 INFO sonos_speaker: 🤖 Service: media_player.volume_set
2020-12-19 22:12:40.049784 INFO sonos_speaker:   - entity_id: group.sonos_all
2020-12-19 22:12:40.054194 INFO sonos_speaker:   - volume_level: 0.40
2020-12-19 22:12:40.741224 INFO sonos_speaker: 🤖 Service: media_player.volume_set
2020-12-19 22:12:40.745684 INFO sonos_speaker:   - entity_id: group.sonos_all
2020-12-19 22:12:40.749985 INFO sonos_speaker:   - volume_level: 0.47
2020-12-19 22:12:41.406422 INFO sonos_speaker: 🤖 Service: media_player.volume_set
2020-12-19 22:12:41.411477 INFO sonos_speaker:   - entity_id: group.sonos_all
2020-12-19 22:12:41.415856 INFO sonos_speaker:   - volume_level: 0.53
2020-12-19 22:12:42.067825 INFO sonos_speaker: 🤖 Service: media_player.volume_set
2020-12-19 22:12:42.075438 INFO sonos_speaker:   - entity_id: group.sonos_all
2020-12-19 22:12:42.079738 INFO sonos_speaker:   - volume_level: 0.60
2020-12-19 22:12:42.723349 INFO sonos_speaker: 🤖 Service: media_player.volume_set
2020-12-19 22:12:42.729961 INFO sonos_speaker:   - entity_id: group.sonos_all
2020-12-19 22:12:42.734252 INFO sonos_speaker:   - volume_level: 0.67
2020-12-19 22:12:43.407939 INFO sonos_speaker: 🤖 Service: media_player.volume_set
2020-12-19 22:12:43.412502 INFO sonos_speaker:   - entity_id: group.sonos_all
2020-12-19 22:12:43.416931 INFO sonos_speaker:   - volume_level: 0.73
2020-12-19 22:12:44.074701 INFO sonos_speaker: 🤖 Service: media_player.volume_set
2020-12-19 22:12:44.079183 INFO sonos_speaker:   - entity_id: group.sonos_all
2020-12-19 22:12:44.083676 INFO sonos_speaker:   - volume_level: 0.80
2020-12-19 22:12:44.767735 INFO sonos_speaker: 🤖 Service: media_player.volume_set
2020-12-19 22:12:44.772233 INFO sonos_speaker:   - entity_id: group.sonos_all
2020-12-19 22:12:44.776652 INFO sonos_speaker:   - volume_level: 0.87
2020-12-19 22:12:45.455488 INFO sonos_speaker: 🤖 Service: media_player.volume_set
2020-12-19 22:12:45.460002 INFO sonos_speaker:   - entity_id: group.sonos_all
2020-12-19 22:12:45.464471 INFO sonos_speaker:   - volume_level: 0.93
2020-12-19 22:12:46.117277 INFO sonos_speaker: 🤖 Service: media_player.volume_set
2020-12-19 22:12:46.123117 INFO sonos_speaker:   - entity_id: group.sonos_all
2020-12-19 22:12:46.127555 INFO sonos_speaker:   - volume_level: 1.00
2020-12-19 22:12:46.802708 INFO sonos_speaker: 🤖 Service: media_player.volume_set
2020-12-19 22:12:46.808167 INFO sonos_speaker:   - entity_id: group.sonos_all
2020-12-19 22:12:46.812499 INFO sonos_speaker:   - volume_level: 1
2020-12-19 22:12:47.458041 WARNING AppDaemon: callback idle has now completed

Ciao !

Hi’ @plbartek89

Just saw your HW reference earlier in thread.
Your AMD-G-G-T44R single core processor might be a bit ‘outdated’ for the task ?
But it all depends on how extensive your HA setup is.
Are you in general experiencing issues with sluggish HA responses / slow frontend etc. ?
Have you checked CPU load when HA is doing more extensive tasks ?

Ciao !

hi , @htvekov
cpu useage max 4% ,

2020-12-20 11:14:39.879139 INFO example_app: 🎮 ControllerX v4.2.1
2020-12-20 11:14:39.924804 INFO AppDaemon: App initialization complete
2020-12-20 11:16:03.073688 INFO example_app: 🎮 Button event triggered: `brightness_up_click`
2020-12-20 11:16:03.115223 INFO example_app: 🏃 Running `click_volume_up` now
2020-12-20 11:16:03.257428 INFO example_app: 🤖 Service: media_player.volume_set
2020-12-20 11:16:03.302226 INFO example_app:   - entity_id: media_player.kuche
2020-12-20 11:16:03.350695 INFO example_app:   - volume_level: 0.18
2020-12-20 11:16:04.395363 WARNING AppDaemon: Excessive time spent in utility loop: 2081.0ms, 2080.0ms in check_app_updates(), 1.0ms in other
2020-12-20 11:16:05.911678 INFO example_app: 🎮 Button event triggered: `brightness_up_click`
2020-12-20 11:16:05.989521 INFO example_app: 🏃 Running `click_volume_up` now
2020-12-20 11:16:06.119053 INFO example_app: 🤖 Service: media_player.volume_set
2020-12-20 11:16:06.170016 INFO example_app:   - entity_id: media_player.kuche
2020-12-20 11:16:06.282382 INFO example_app:   - volume_level: 0.23
2020-12-20 11:16:07.503833 WARNING AppDaemon: Excessive time spent in utility loop: 2092.0ms, 2091.0ms in check_app_updates(), 1.0ms in other

Im running ubuntu 20.04 maybe there is the problem but i dont think so…???

Hi’ @plbartek89

Sorry, I don’t have sufficient knowledge about the different installation methods to answer that question. But something is definitely wrong…

I made a cut from Appdaemon docs regarding the set production_mode ability in appdaemon config.
You could test if this make any improvements. It will prevent Appdaemon each second to check for changes.

  • production_mode (optional) - If set to true, AppDaemon will only check for changes in Apps and apps.yaml files when AppDaemon is restarted, as opposed to every second. This can save some processing power on busy systems. Defaults to False . This can also be changed from within apps, using the set_production_mode API call.

Ciao !