Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Clear error message for music streaming #2736

Merged
merged 10 commits into from
Dec 10, 2024
Merged

Conversation

sayam93
Copy link
Contributor

@sayam93 sayam93 commented Dec 9, 2024

This clearly conveys to the users that the inability to stream music is not a problem with the integration or home assistant but instead something that Amazon doesn't allow. It also add media_type argument to the async_play_tts_cloud_say function to differentiate the error message for when it is a simple TTS message being sent or music

This clearly conveys to the users that the inability to stream music is not a problem with the integration or home assistant but instead something that Amazon doesn't allow. It also add media_type argument to the async_play_tts_cloud_say function to differentiate the error message for when it is a simple TTS message being sent or music
@sayam93 sayam93 changed the title Clear error message for music streaming fix: Clear error message for music streaming Dec 9, 2024
@coveralls
Copy link

coveralls commented Dec 9, 2024

Pull Request Test Coverage Report for Build 12245896986

Details

  • 3 of 15 (20.0%) changed or added relevant lines in 2 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.07%) to 9.372%

Changes Missing Coverage Covered Lines Changed/Added Lines %
custom_components/alexa_media/media_player.py 0 12 0.0%
Totals Coverage Status
Change from base Build 12226308298: 0.07%
Covered Lines: 321
Relevant Lines: 3425

💛 - Coveralls

sayam93 and others added 5 commits December 10, 2024 01:43
This saves music streaming error message as a string instead of duplicating
Added the error message as constant to const.py file for better structuring
Imports the music streaming error string from const.py instead
sayam93 and others added 4 commits December 10, 2024 04:29
Added more error messages as constants to const.py file for better structuring
Imports the error strings from const.py instead
@sayam93
Copy link
Contributor Author

sayam93 commented Dec 9, 2024

This PR would help clarify some open issues here (#2729 and #2618).

Further, I hope there wouldn't be any new issues opened related to music or local file streaming here or in the Home Assistant and Music Assistant repos.

@alandtse alandtse merged commit 95632e6 into alandtse:dev Dec 10, 2024
4 checks passed
alandtse added a commit that referenced this pull request Dec 10, 2024
fix: clarify error message for music streaming (#2736)
@aroige
Copy link

aroige commented Dec 10, 2024

This PR breaks tts.speak:

action: tts.speak
target:
  entity_id: tts.home_assistant_cloud
data:
  cache: true
  media_player_entity_id: media_player.alexa_echo_dot
  message: test
  language: en-US

@sayam93
Copy link
Contributor Author

sayam93 commented Dec 10, 2024

This PR breaks tts.speak:

action: tts.speak
target:
  entity_id: tts.home_assistant_cloud
data:
  cache: true
  media_player_entity_id: media_player.alexa_echo_dot
  message: test
  language: en-US

You're right. The above format doesn't work. Was it working for you previously?

The only way this could break it is if the media_type for messages sent using tts action is set up as music by Home Assistant.

action: notify.alexa_media_echo
data:
  data:
    type: announce
  message: Somebody's in the Balcony!
  target: media_player.echo
enabled: true

I used the above format for my use case (both with type: announce and without) and that still works.

@sayam93
Copy link
Contributor Author

sayam93 commented Dec 10, 2024

I downgraded to 5.0.2 to test this. It did work before 5.0.3. I think HA sends TTS text in audio form as media_type music when the TTS speak or TTS cloud speak action is used in HA which is why this is now simply throwing an error.

@sayam93
Copy link
Contributor Author

sayam93 commented Dec 10, 2024

This PR breaks tts.speak:

action: tts.speak
target:
  entity_id: tts.home_assistant_cloud
data:
  cache: true
  media_player_entity_id: media_player.alexa_echo_dot
  message: test
  language: en-US

I've created a PR to fix this while still providing the correct error for music streaming #2742.

@ColtonYYZ
Copy link

May I suggest a change to the wording that was newly implemented? Perhaps it would be better to say:

"Sorry, the media you're trying to play isn't supported by this method. This limitation is set by Amazon, and not by Alexa-Media-Player, Music-Assistant, nor Home-Assistant."

With the dashes to have a more natural sounding message.

@ColtonYYZ
Copy link

ColtonYYZ commented Dec 10, 2024

Hey @sayam93, I am trying to play SiriusXM as well as I tried Spotify in Music Assistant and it's not working. I am getting that "sorry folks" message.. but both of these ARE supported by MA. It was working before but not now.

Here are my logs:

2024-12-10 17:50:11.839 DEBUG (MainThread) [alexapy.alexaapi] c*******z@g*******m: Trying post: https://alexa.amazon.ca/api/np/command?deviceSerialNumber=<REDACTED>&deviceType=<REDACTED> : with uri: /api/np/command data {'type': 'PlayCommand'} query {'deviceSerialNumber': '<REDACTED>', 'deviceType': '<REDACTED>'}
2024-12-10 17:50:12.219 DEBUG (MainThread) [alexapy.alexaapi] c*******z@g*******m: POST: https://alexa.amazon.ca/api/np/command?deviceSerialNumber=<REDACTED>&deviceType=<REDACTED> returned 200:OK:application/json
2024-12-10 17:50:12.220 DEBUG (MainThread) [alexapy.alexaapi] api_calls: 376
2024-12-10 17:50:23.632 DEBUG (MainThread) [alexapy.alexaapi] c*******z@g*******m: Trying post: https://alexa.amazon.ca/api/np/command?deviceSerialNumber=<REDACTED>&deviceType=<REDACTED> : with uri: /api/np/command data {'type': 'PlayCommand'} query {'deviceSerialNumber': '<REDACTED>', 'deviceType': '<REDACTED>'}
2024-12-10 17:50:23.973 DEBUG (MainThread) [alexapy.alexaapi] c*******z@g*******m: POST: https://alexa.amazon.ca/api/np/command?deviceSerialNumber=<REDACTED>&deviceType=<REDACTED> returned 200:OK:application/json
2024-12-10 17:50:23.973 DEBUG (MainThread) [alexapy.alexaapi] api_calls: 377
2024-12-10 17:50:28.135 WARNING (MainThread) [custom_components.alexa_media.media_player] Sorry folks! Amazon doesn't allow streaming music like this. Please take it up with them!
2024-12-10 17:50:29.471 DEBUG (MainThread) [alexapy.alexaapi] c*******z@g*******m: Queue changed while waiting 1.5 seconds
2024-12-10 17:50:29.636 DEBUG (MainThread) [alexapy.alexaapi] c*******z@g*******m: Creating sequence for 2 items
2024-12-10 17:50:29.636 DEBUG (MainThread) [alexapy.alexaapi] c*******z@g*******m: Running behavior with data: {"behaviorId": "PREVIEW", "sequenceJson": "{\"@type\": \"com.amazon.alexa.behaviors.model.Sequence\", \"startNode\": {\"@type\": \"com.amazon.alexa.behaviors.model.SerialNode\", \"nodesToExecute\": [{\"@type\": \"com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode\", \"type\": \"Alexa.DeviceControls.Stop\", \"operationPayload\": {\"locale\": \"en-ca\", \"customerId\": \"<REDACTED>\", \"skillId\": \"amzn1.ask.1p.alexadevicecontrols\", \"devices\": [{\"deviceSerialNumber\": \"<REDACTED>\", \"deviceType\": \"<REDACTED>\"}]}}, {\"@type\": \"com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode\", \"type\": \"Alexa.Speak\", \"operationPayload\": {\"deviceType\": \"<REDACTED>\", \"deviceSerialNumber\": \"<REDACTED>\", \"locale\": \"en-ca\", \"customerId\": \"<REDACTED>\", \"textToSpeak\": \"Sorry folks! Amazon doesn't allow streaming music like this. Please take it up with them!\", \"target\": {\"customerId\": \"<REDACTED>\", \"devices\": [{\"deviceSerialNumber\": \"<REDACTED>\", \"deviceTypeId\": \"<REDACTED>\"}]}, \"skillId\": \"amzn1.ask.1p.saysomething\"}}]}}", "status": "ENABLED"}
2024-12-10 17:50:29.636 DEBUG (MainThread) [alexapy.alexaapi] c*******z@g*******m: Trying post: https://alexa.amazon.ca/api/behaviors/preview : with uri: /api/behaviors/preview data {'behaviorId': 'PREVIEW', 'sequenceJson': '{"@type": "com.amazon.alexa.behaviors.model.Sequence", "startNode": {"@type": "com.amazon.alexa.behaviors.model.SerialNode", "nodesToExecute": [{"@type": "com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode", "type": "Alexa.DeviceControls.Stop", "operationPayload": {"locale": "en-ca", "customerId": "<REDACTED>", "skillId": "amzn1.ask.1p.alexadevicecontrols", "devices": [{"deviceSerialNumber": "<REDACTED>", "deviceType": "<REDACTED>"}]}}, {"@type": "com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode", "type": "Alexa.Speak", "operationPayload": {"deviceType": "<REDACTED>", "deviceSerialNumber": "<REDACTED>", "locale": "en-ca", "customerId": "<REDACTED>", "textToSpeak": "Sorry folks! Amazon doesn\'t allow streaming music like this. Please take it up with them!", "target": {"customerId": "<REDACTED>", "devices": [{"deviceSerialNumber": "<REDACTED>", "deviceTypeId": "<REDACTED>"}]}, "skillId": "amzn1.ask.1p.saysomething"}}]}}', 'status': 'ENABLED'} query None
2024-12-10 17:50:29.713 DEBUG (MainThread) [alexapy.alexaapi] c*******z@g*******m: POST: https://alexa.amazon.ca/api/behaviors/preview returned 200:OK:application/octet-stream
2024-12-10 17:50:29.714 DEBUG (MainThread) [alexapy.alexaapi] api_calls: 378
2024-12-10 17:50:30.246 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"12c8828e-fbf2-4f47-b7b7-8d325cf48664"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_EQUALIZER_STATE_CHANGE","resourceMetadata":"{\"command\":\"PUSH_EQUALIZER_STATE_CHANGE\",\"timeStamp\":1733871028614,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"bass\\\":3,\\\"midrange\\\":0,\\\"treble\\\":-3,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:30.249 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_EQUALIZER_STATE_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.249 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player availability {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.274 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"ad740660-b6b7-4c22-9cd8-00018d1567d8"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_VOLUME_CHANGE","resourceMetadata":"{\"command\":\"PUSH_VOLUME_CHANGE\",\"timeStamp\":1733871028624,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"volumeSetting\\\":40,\\\"isMuted\\\":false,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:30.275 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_VOLUME_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.275 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player volume: {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.276 DEBUG (MainThread) [custom_components.alexa_media.media_player] c*******z@g*******m: Colton's Echo Show volume updated: 40
2024-12-10 17:50:30.429 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"861de487-5fe4-42ac-9142-434d12a0644e"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_EQUALIZER_STATE_CHANGE","resourceMetadata":"{\"command\":\"PUSH_EQUALIZER_STATE_CHANGE\",\"timeStamp\":1733871028797,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"bass\\\":3,\\\"midrange\\\":0,\\\"treble\\\":-3,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:30.432 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_EQUALIZER_STATE_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.432 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player availability {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.456 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"f7be2033-7800-4274-9770-b15a358142d8"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_VOLUME_CHANGE","resourceMetadata":"{\"command\":\"PUSH_VOLUME_CHANGE\",\"timeStamp\":1733871028804,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"volumeSetting\\\":40,\\\"isMuted\\\":false,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:30.457 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_VOLUME_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.457 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player volume: {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.458 DEBUG (MainThread) [custom_components.alexa_media.media_player] c*******z@g*******m: Colton's Echo Show volume updated: 40
2024-12-10 17:50:30.468 DEBUG (MainThread) [custom_components.alexa_media] G************M96: Detected potential DND http2push change with 4 events [('PUSH_EQUALIZER_STATE_CHANGE', 0.21), ('PUSH_VOLUME_CHANGE', 0.18), ('PUSH_EQUALIZER_STATE_CHANGE', 0.03), ('PUSH_VOLUME_CHANGE', 0.0)]
2024-12-10 17:50:30.718 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"b4bddba0-d77c-4538-bf05-03f564f2a4cc"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_EQUALIZER_STATE_CHANGE","resourceMetadata":"{\"command\":\"PUSH_EQUALIZER_STATE_CHANGE\",\"timeStamp\":1733871029090,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"bass\\\":3,\\\"midrange\\\":0,\\\"treble\\\":-3,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:30.719 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_EQUALIZER_STATE_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.719 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player availability {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.744 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"a7866e46-b5fe-4e21-bf75-0f9698d24e2a"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_VOLUME_CHANGE","resourceMetadata":"{\"command\":\"PUSH_VOLUME_CHANGE\",\"timeStamp\":1733871029099,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"volumeSetting\\\":40,\\\"isMuted\\\":false,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:30.745 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_VOLUME_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.745 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player volume: {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.746 DEBUG (MainThread) [custom_components.alexa_media.media_player] c*******z@g*******m: Colton's Echo Show volume updated: 40
2024-12-10 17:50:31.157 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"3cda695c-1371-44e3-9ce1-9b2e88e0511e"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_EQUALIZER_STATE_CHANGE","resourceMetadata":"{\"command\":\"PUSH_EQUALIZER_STATE_CHANGE\",\"timeStamp\":1733871029522,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"bass\\\":3,\\\"midrange\\\":0,\\\"treble\\\":-3,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:31.159 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_EQUALIZER_STATE_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:31.159 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player availability {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:31.187 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"17f5415e-f99a-423f-8feb-edbf565cd39c"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_VOLUME_CHANGE","resourceMetadata":"{\"command\":\"PUSH_VOLUME_CHANGE\",\"timeStamp\":1733871029530,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"volumeSetting\\\":40,\\\"isMuted\\\":false,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:31.191 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_VOLUME_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:31.192 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player volume: {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:31.192 DEBUG (MainThread) [custom_components.alexa_media.media_player] c*******z@g*******m: Colton's Echo Show volume updated: 40
2024-12-10 17:50:36.201 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"fbf400d5-4fdd-4ad3-b3df-0963d11c8025"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_EQUALIZER_STATE_CHANGE","resourceMetadata":"{\"command\":\"PUSH_EQUALIZER_STATE_CHANGE\",\"timeStamp\":1733871034566,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"bass\\\":3,\\\"midrange\\\":0,\\\"treble\\\":-3,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:36.202 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_EQUALIZER_STATE_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:36.202 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player availability {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:36.256 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"2a65b9b1-cbd6-4ca3-8644-62822f9556bc"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_VOLUME_CHANGE","resourceMetadata":"{\"command\":\"PUSH_VOLUME_CHANGE\",\"timeStamp\":1733871034620,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"volumeSetting\\\":40,\\\"isMuted\\\":false,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:36.257 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_VOLUME_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:36.257 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player volume: {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:36.257 DEBUG (MainThread) [custom_components.alexa_media.media_player] c*******z@g*******m: Colton's Echo Show volume updated: 40

@sayam93
Copy link
Contributor Author

sayam93 commented Dec 11, 2024

Hey @sayam93, I am trying to play SiriusXM as well as I tried Spotify in Music Assistant and it's not working. I am getting that "sorry folks" message.. but both of these ARE supported by MA. It was working before but not now.

Here are my logs:

2024-12-10 17:50:11.839 DEBUG (MainThread) [alexapy.alexaapi] c*******z@g*******m: Trying post: https://alexa.amazon.ca/api/np/command?deviceSerialNumber=<REDACTED>&deviceType=<REDACTED> : with uri: /api/np/command data {'type': 'PlayCommand'} query {'deviceSerialNumber': '<REDACTED>', 'deviceType': '<REDACTED>'}
2024-12-10 17:50:12.219 DEBUG (MainThread) [alexapy.alexaapi] c*******z@g*******m: POST: https://alexa.amazon.ca/api/np/command?deviceSerialNumber=<REDACTED>&deviceType=<REDACTED> returned 200:OK:application/json
2024-12-10 17:50:12.220 DEBUG (MainThread) [alexapy.alexaapi] api_calls: 376
2024-12-10 17:50:23.632 DEBUG (MainThread) [alexapy.alexaapi] c*******z@g*******m: Trying post: https://alexa.amazon.ca/api/np/command?deviceSerialNumber=<REDACTED>&deviceType=<REDACTED> : with uri: /api/np/command data {'type': 'PlayCommand'} query {'deviceSerialNumber': '<REDACTED>', 'deviceType': '<REDACTED>'}
2024-12-10 17:50:23.973 DEBUG (MainThread) [alexapy.alexaapi] c*******z@g*******m: POST: https://alexa.amazon.ca/api/np/command?deviceSerialNumber=<REDACTED>&deviceType=<REDACTED> returned 200:OK:application/json
2024-12-10 17:50:23.973 DEBUG (MainThread) [alexapy.alexaapi] api_calls: 377
2024-12-10 17:50:28.135 WARNING (MainThread) [custom_components.alexa_media.media_player] Sorry folks! Amazon doesn't allow streaming music like this. Please take it up with them!
2024-12-10 17:50:29.471 DEBUG (MainThread) [alexapy.alexaapi] c*******z@g*******m: Queue changed while waiting 1.5 seconds
2024-12-10 17:50:29.636 DEBUG (MainThread) [alexapy.alexaapi] c*******z@g*******m: Creating sequence for 2 items
2024-12-10 17:50:29.636 DEBUG (MainThread) [alexapy.alexaapi] c*******z@g*******m: Running behavior with data: {"behaviorId": "PREVIEW", "sequenceJson": "{\"@type\": \"com.amazon.alexa.behaviors.model.Sequence\", \"startNode\": {\"@type\": \"com.amazon.alexa.behaviors.model.SerialNode\", \"nodesToExecute\": [{\"@type\": \"com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode\", \"type\": \"Alexa.DeviceControls.Stop\", \"operationPayload\": {\"locale\": \"en-ca\", \"customerId\": \"<REDACTED>\", \"skillId\": \"amzn1.ask.1p.alexadevicecontrols\", \"devices\": [{\"deviceSerialNumber\": \"<REDACTED>\", \"deviceType\": \"<REDACTED>\"}]}}, {\"@type\": \"com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode\", \"type\": \"Alexa.Speak\", \"operationPayload\": {\"deviceType\": \"<REDACTED>\", \"deviceSerialNumber\": \"<REDACTED>\", \"locale\": \"en-ca\", \"customerId\": \"<REDACTED>\", \"textToSpeak\": \"Sorry folks! Amazon doesn't allow streaming music like this. Please take it up with them!\", \"target\": {\"customerId\": \"<REDACTED>\", \"devices\": [{\"deviceSerialNumber\": \"<REDACTED>\", \"deviceTypeId\": \"<REDACTED>\"}]}, \"skillId\": \"amzn1.ask.1p.saysomething\"}}]}}", "status": "ENABLED"}
2024-12-10 17:50:29.636 DEBUG (MainThread) [alexapy.alexaapi] c*******z@g*******m: Trying post: https://alexa.amazon.ca/api/behaviors/preview : with uri: /api/behaviors/preview data {'behaviorId': 'PREVIEW', 'sequenceJson': '{"@type": "com.amazon.alexa.behaviors.model.Sequence", "startNode": {"@type": "com.amazon.alexa.behaviors.model.SerialNode", "nodesToExecute": [{"@type": "com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode", "type": "Alexa.DeviceControls.Stop", "operationPayload": {"locale": "en-ca", "customerId": "<REDACTED>", "skillId": "amzn1.ask.1p.alexadevicecontrols", "devices": [{"deviceSerialNumber": "<REDACTED>", "deviceType": "<REDACTED>"}]}}, {"@type": "com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode", "type": "Alexa.Speak", "operationPayload": {"deviceType": "<REDACTED>", "deviceSerialNumber": "<REDACTED>", "locale": "en-ca", "customerId": "<REDACTED>", "textToSpeak": "Sorry folks! Amazon doesn\'t allow streaming music like this. Please take it up with them!", "target": {"customerId": "<REDACTED>", "devices": [{"deviceSerialNumber": "<REDACTED>", "deviceTypeId": "<REDACTED>"}]}, "skillId": "amzn1.ask.1p.saysomething"}}]}}', 'status': 'ENABLED'} query None
2024-12-10 17:50:29.713 DEBUG (MainThread) [alexapy.alexaapi] c*******z@g*******m: POST: https://alexa.amazon.ca/api/behaviors/preview returned 200:OK:application/octet-stream
2024-12-10 17:50:29.714 DEBUG (MainThread) [alexapy.alexaapi] api_calls: 378
2024-12-10 17:50:30.246 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"12c8828e-fbf2-4f47-b7b7-8d325cf48664"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_EQUALIZER_STATE_CHANGE","resourceMetadata":"{\"command\":\"PUSH_EQUALIZER_STATE_CHANGE\",\"timeStamp\":1733871028614,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"bass\\\":3,\\\"midrange\\\":0,\\\"treble\\\":-3,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:30.249 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_EQUALIZER_STATE_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.249 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player availability {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.274 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"ad740660-b6b7-4c22-9cd8-00018d1567d8"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_VOLUME_CHANGE","resourceMetadata":"{\"command\":\"PUSH_VOLUME_CHANGE\",\"timeStamp\":1733871028624,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"volumeSetting\\\":40,\\\"isMuted\\\":false,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:30.275 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_VOLUME_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.275 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player volume: {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.276 DEBUG (MainThread) [custom_components.alexa_media.media_player] c*******z@g*******m: Colton's Echo Show volume updated: 40
2024-12-10 17:50:30.429 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"861de487-5fe4-42ac-9142-434d12a0644e"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_EQUALIZER_STATE_CHANGE","resourceMetadata":"{\"command\":\"PUSH_EQUALIZER_STATE_CHANGE\",\"timeStamp\":1733871028797,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"bass\\\":3,\\\"midrange\\\":0,\\\"treble\\\":-3,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:30.432 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_EQUALIZER_STATE_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.432 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player availability {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.456 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"f7be2033-7800-4274-9770-b15a358142d8"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_VOLUME_CHANGE","resourceMetadata":"{\"command\":\"PUSH_VOLUME_CHANGE\",\"timeStamp\":1733871028804,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"volumeSetting\\\":40,\\\"isMuted\\\":false,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:30.457 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_VOLUME_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.457 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player volume: {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.458 DEBUG (MainThread) [custom_components.alexa_media.media_player] c*******z@g*******m: Colton's Echo Show volume updated: 40
2024-12-10 17:50:30.468 DEBUG (MainThread) [custom_components.alexa_media] G************M96: Detected potential DND http2push change with 4 events [('PUSH_EQUALIZER_STATE_CHANGE', 0.21), ('PUSH_VOLUME_CHANGE', 0.18), ('PUSH_EQUALIZER_STATE_CHANGE', 0.03), ('PUSH_VOLUME_CHANGE', 0.0)]
2024-12-10 17:50:30.718 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"b4bddba0-d77c-4538-bf05-03f564f2a4cc"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_EQUALIZER_STATE_CHANGE","resourceMetadata":"{\"command\":\"PUSH_EQUALIZER_STATE_CHANGE\",\"timeStamp\":1733871029090,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"bass\\\":3,\\\"midrange\\\":0,\\\"treble\\\":-3,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:30.719 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_EQUALIZER_STATE_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.719 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player availability {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.744 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"a7866e46-b5fe-4e21-bf75-0f9698d24e2a"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_VOLUME_CHANGE","resourceMetadata":"{\"command\":\"PUSH_VOLUME_CHANGE\",\"timeStamp\":1733871029099,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"volumeSetting\\\":40,\\\"isMuted\\\":false,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:30.745 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_VOLUME_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.745 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player volume: {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:30.746 DEBUG (MainThread) [custom_components.alexa_media.media_player] c*******z@g*******m: Colton's Echo Show volume updated: 40
2024-12-10 17:50:31.157 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"3cda695c-1371-44e3-9ce1-9b2e88e0511e"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_EQUALIZER_STATE_CHANGE","resourceMetadata":"{\"command\":\"PUSH_EQUALIZER_STATE_CHANGE\",\"timeStamp\":1733871029522,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"bass\\\":3,\\\"midrange\\\":0,\\\"treble\\\":-3,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:31.159 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_EQUALIZER_STATE_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:31.159 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player availability {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:31.187 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"17f5415e-f99a-423f-8feb-edbf565cd39c"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_VOLUME_CHANGE","resourceMetadata":"{\"command\":\"PUSH_VOLUME_CHANGE\",\"timeStamp\":1733871029530,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"volumeSetting\\\":40,\\\"isMuted\\\":false,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:31.191 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_VOLUME_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:31.192 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player volume: {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:31.192 DEBUG (MainThread) [custom_components.alexa_media.media_player] c*******z@g*******m: Colton's Echo Show volume updated: 40
2024-12-10 17:50:36.201 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"fbf400d5-4fdd-4ad3-b3df-0963d11c8025"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_EQUALIZER_STATE_CHANGE","resourceMetadata":"{\"command\":\"PUSH_EQUALIZER_STATE_CHANGE\",\"timeStamp\":1733871034566,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"bass\\\":3,\\\"midrange\\\":0,\\\"treble\\\":-3,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:36.202 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_EQUALIZER_STATE_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:36.202 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player availability {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'bass': 3, 'midrange': 0, 'treble': -3, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:36.256 DEBUG (MainThread) [alexapy.alexahttp2] Received raw message: Content-Type: application/json

{"directive":{"header":{"namespace":"Alexa.Mobile.Push","name":"RenderUpdate","messageId":"2a65b9b1-cbd6-4ca3-8644-62822f9556bc"},"payload":{"renderingUpdates":[{"route":"EventBus:tcomm::message","resourceId":"PUSH_VOLUME_CHANGE","resourceMetadata":"{\"command\":\"PUSH_VOLUME_CHANGE\",\"timeStamp\":1733871034620,\"payload\":\"{\\\"dopplerId\\\":{\\\"deviceSerialNumber\\\":\\\"<REDACTED>\\\",\\\"deviceType\\\":\\\"<REDACTED>\\\"},\\\"volumeSetting\\\":40,\\\"isMuted\\\":false,\\\"destinationUserId\\\":\\\"<REDACTED>\\\"}\"}"}]}}}
--------abcde123

2024-12-10 17:50:36.257 DEBUG (MainThread) [custom_components.alexa_media] c*******z@g*******m: Received http2push command: PUSH_VOLUME_CHANGE : {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:36.257 DEBUG (MainThread) [custom_components.alexa_media] Updating media_player volume: {'dopplerId': {'deviceSerialNumber': 'G************M96', 'deviceType': '<REDACTED>'}, 'volumeSetting': 40, 'isMuted': False, 'destinationUserId': 'A**********LZQ'}
2024-12-10 17:50:36.257 DEBUG (MainThread) [custom_components.alexa_media.media_player] c*******z@g*******m: Colton's Echo Show volume updated: 40

The new PR will hopefully be merged into a release soon. Anything that was working before 5.0.3 will work again after it is done. The only thing that will change is the message for music as it was initially supposed to.

@ColtonYYZ
Copy link

Hey @sayam93, unfortunately after updating to the latest push you made, SiriusXM and Spotify still don't work with MA for me. What's weird is, I can see it playing (and hearing it of course), yet I can't start it within MA. I believe it's because of the architecture of how MA was designed. I can start playing either one of them using mini-media-player which utilizes the skill for them respectively. Is there any though to mimic mini-media-player in doing the same?

Techinically speaking, the error message we get saying that it's a limitation by Amazon, though 100% correct when trying to stream direct from local sources, isn't 100% correct, to say that it can be done, just not directly from a local source. aka, using a corresponding skill to play it with MA just being a middleman or skin to display info/and controls. I hope this makes sense what I'm trying to convey.

Here are 2 photos. One showing the music stopped in MA and when I tap on the play button, I get that error message. The other photo shows MA displaying me actually playing the music - but because I used mini-media-player to initiate it. I have also included the yaml for the card portion to play the stations (both siriusxm and spotify are in the code - I use SpotifyPlus), as well as the script that is used by mini-media-player to start SiriusXM.

Can the info I have supplied here, he considered or used in conjunction with MA?

chrome_NOYqjcpvbg
chrome_5P8ZbDAKkx

alias: play siriusxm 90s9
sequence:
  - data:
      media_content_id: play 90s on 9 on SiriusXM
      media_content_type: custom
    action: media_player.play_media
    target:
      entity_id: media_player.colton_s_echo_show
description: ""

@sayam93
Copy link
Contributor Author

sayam93 commented Dec 13, 2024

Hey @sayam93, unfortunately after updating to the latest push you made, SiriusXM and Spotify still don't work with MA for me. What's weird is, I can see it playing (and hearing it of course), yet I can't start it within MA. I believe it's because of the architecture of how MA was designed. I can start playing either one of them using mini-media-player which utilizes the skill for them respectively. Is there any though to mimic mini-media-player in doing the same?

Techinically speaking, the error message we get saying that it's a limitation by Amazon, though 100% correct when trying to stream direct from local sources, isn't 100% correct, to say that it can be done, just not directly from a local source. aka, using a corresponding skill to play it with MA just being a middleman or skin to display info/and controls. I hope this makes sense what I'm trying to convey.

Here are 2 photos. One showing the music stopped in MA and when I tap on the play button, I get that error message. The other photo shows MA displaying me actually playing the music - but because I used mini-media-player to initiate it. I have also included the yaml for the card portion to play the stations (both siriusxm and spotify are in the code - I use SpotifyPlus), as well as the script that is used by mini-media-player to start SiriusXM.

Can the info I have supplied here, he considered or used in conjunction with MA?

chrome_NOYqjcpvbg chrome_5P8ZbDAKkx

alias: play siriusxm 90s9
sequence:
  - data:
      media_content_id: play 90s on 9 on SiriusXM
      media_content_type: custom
    action: media_player.play_media
    target:
      entity_id: media_player.colton_s_echo_show
description: ""

The Echo entity created by Music Assistant does not have the ability to control an already playing stream is what you mean, right?

Mini Media Player works because with the above script, you are technically issuing it a command as you would normally do with your voice.

This has nothing to do with this Custom Integration. If you roll back to an an older version (anything <5.0.3), you'll simply get "To send TTS, please set the public URL in integration configuration".

It's probably related to how Music Assistant server controls the Home Assistant entities created by it's integration to control the actual media_player entity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants