Announcement

Collapse
No announcement yet.

Metadata for a "SiriusXM Stream" to a Google Mini did not update after changing

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Metadata for a "SiriusXM Stream" to a Google Mini did not update after changing

    Originally posted by Mr.Gadget View Post
    Click image for larger version Name:	AKGoogleCast Image Chromcast.JPG Views:	0 Size:	73.9 KB ID:	1378245

    The metadata for a "SiriusXM Stream" to a Google Mini did not update after changing (see log file)
    SiriusXM is not available in Australia (idiots). But I can add support based on the attached logs.
    Attached Files

    #2
    Mr.Gadget ver 3.0.0.40 (BETA) - Added initial support for SiriusXM - untested since SiriusXM is not available in AU

    Comment


      #3
      Very impressive work for not having access to the Stream service (unless you use a VPN). The PI did not update the metadata between songs when started via TOGGLE method. However, I ran from a command-line (Remote), all of the metadata seemed to work. (I'll need to retest the PI Toggle again after I capture the command-line behavior ).

      Three observations (No complaints, just observations):
      1) The frequency of the IMAGE update (JPG) seems to be about every 3 seconds. I don't know if that is too often and consuming alot of CPU time, but this could probably be reduced to be less frequent, or tuneable in the configuration.The Log file does list an Image Change every 3 seconds.Some logging might need to be minimized to prevent too much log file overload.

      From Terminal window:
      [270]: * Media changed: 9997ef28-7e31-c2df-acf7-b7cc17250e0c (Upstairs Speakers)
      [270]: * Image changed http://albumart.siriusxm.com/albumar...8924-001_t.jpg (Upstairs Speakers)

      From HS Logfile:
      Apr-18 3:04:12 PM AK GoogleCast [270]: * Media changed: (Upstairs Speakers)
      Apr-18 3:04:09 PM AK GoogleCast [270]: * Image changed http://albumart.siriusxm.com/albumar...2754-001_t.jpg (Upstairs Speakers)
      Apr-18 3:04:09 PM AK GoogleCast [270]: * Media changed: 041364af-dc16-b4aa-d914-4dda8c56adae (Upstairs Speakers

      2) When using a "Group" speaker, the non-group speakers do not have any metadata, and show STOPPED. (Which is probably the expected result)

      3) During song playback, two different METADATA items must be included in the data stream.I captured the two display values for one specific type of Stream and the Data Displayed under the ContentType for each Tag -These alternate in the display every so often (approx 10 seconds or so)
      ContentType ContentType
      audio/mpeg 9421 Live (varies by stream)
      ContentID aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
      Application (ReceivedMessage) SiriusXM (nnnnxxxx) SiriusXM (nnnnxxxx)
      Title Elton John Bennie and the Jets
      Artist Bennie and the Jets Elton John
      Title (Artist) Elton John (Bennie and the Jets) Bennie and the Jets (Elton John)
      Album The Garth Channel Goodbye Yellow Brick Road
      Duration


      Click image for larger version

Name:	HomeSeer - AKGC 3.0.0.40 - Metadata alternate 2 9421 same song.jpg
Views:	164
Size:	83.2 KB
ID:	1378939Click image for larger version

Name:	HomeSeer - AKGC 3.0.0.40 - Metadata alternate 1 mpeg same song.jpg
Views:	146
Size:	85.5 KB
ID:	1378940

      Comment


        #4
        Originally posted by Mr.Gadget View Post
        Very impressive work for not having access to the Stream service (unless you use a VPN). The PI did not update the metadata between songs when started via TOGGLE method. However, I ran from a command-line (Remote), all of the metadata seemed to work. (I'll need to retest the PI Toggle again after I capture the command-line behavior ).

        Three observations (No complaints, just observations):
        1) The frequency of the IMAGE update (JPG) seems to be about every 3 seconds. I don't know if that is too often and consuming alot of CPU time, but this could probably be reduced to be less frequent, or tuneable in the configuration.The Log file does list an Image Change every 3 seconds.Some logging might need to be minimized to prevent too much log file overload.

        From Terminal window:
        [270]: * Media changed: 9997ef28-7e31-c2df-acf7-b7cc17250e0c (Upstairs Speakers)
        [270]: * Image changed http://albumart.siriusxm.com/albumar...8924-001_t.jpg (Upstairs Speakers)

        From HS Logfile:
        Apr-18 3:04:12 PM AK GoogleCast [270]: * Media changed: (Upstairs Speakers)
        Apr-18 3:04:09 PM AK GoogleCast [270]: * Image changed http://albumart.siriusxm.com/albumar...2754-001_t.jpg (Upstairs Speakers)
        Apr-18 3:04:09 PM AK GoogleCast [270]: * Media changed: 041364af-dc16-b4aa-d914-4dda8c56adae (Upstairs Speakers
        2) When using a "Group" speaker, the non-group speakers do not have any metadata, and show STOPPED. (Which is probably the expected result)

        3) During song playback, two different METADATA items must be included in the data stream.I captured the two display values for one specific type of Stream and the Data Displayed under the ContentType for each Tag -These alternate in the display every so often (approx 10 seconds or so)
        ContentType ContentType
        audio/mpeg 9421 Live (varies by stream)
        ContentID aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
        Application (ReceivedMessage) SiriusXM (nnnnxxxx) SiriusXM (nnnnxxxx)
        Title Elton John Bennie and the Jets
        Artist Bennie and the Jets Elton John
        Title (Artist) Elton John (Bennie and the Jets) Bennie and the Jets (Elton John)
        Album The Garth Channel Goodbye Yellow Brick Road
        Duration
        Thank you for the feedback.

        1. Regarding image update - I do check if the image changed - the file names are different:
        Image changed http://albumart.siriusxm.com/albumar...8924-001_t.jpg
        Image changed http://albumart.siriusxm.com/albumar...8924-001_m.jpg

        I'll see what I can do.

        Also, I think 3 sec come from the "Update Interval" setting (see attached) - which is mostly used for updating current track position - so you can increase the status update interval.

        2. Regarding the Group update - that's a known issue, and I already started looking into "MULTIZONE_STATUS" channel - problem is it's undocumented, so takes time. But after porting to HS4.

        3. Regarding METADATA - yeah, I did notice from your logs - there's standard urn:x-cast:com.google.cast.media "MEDIA_STATUS" message (which has the title/artist/album mixed-up). And there's also SiriusXM specific urn:x-cast:siriusxm-chromecast "update-metadata" message - which has correct info. Probably I should just ignore "MEDIA_STATUS" message - but it's kind of wrong to base on assumptions. IDN.

        4. Also the Duration and current position of the track info should be displayed, but I couldn't make sense of many available numbers from your log, i.e. "Time update zulu = 1587049349375 offset = 17811.636509", "playhead":17811277, "playheadZulu":1587049349016, "startedZul u":0, "playheadStartZulu":1587046200000.

        Probably I need to use VPN as you mentioned to try accessing SiriusXM. Any suggestions?

        Click image for larger version  Name:	Annotation 2020-04-19 114942.jpg Views:	0 Size:	108.9 KB ID:	1379017

        Comment


          #5
          And there's an exception in the attached log - which I need to fix.

          Comment


            #6
            I installed Hotspot Shield VPN - Sirius XM works, I was so happy.
            But problem is - Google is too smart and doesn't let streaming on GH. Crap.
            So we continue in current mode.

            Comment


              #7
              BTW (unrelated) - noticed you have "Location 1" and "Location 2" labels - do you know you can rename them:

              Click image for larger version

Name:	Annotation 2020-04-19 125346.jpg
Views:	118
Size:	108.8 KB
ID:	1379028

              Comment


                #8
                Ver 3.0.0.41 (in BETA) - fixes for (please verify each):

                * Exceptions in the log
                * Metadata mix-up
                * Image updates (changing file names)

                Comment


                  #9
                  Originally posted by alexbk66 View Post
                  BTW (unrelated) - noticed you have "Location 1" and "Location 2" labels - do you know you can rename them:
                  Yes, I am using a Custom (Android/iOS) app that relies (relied) on these titles for the the filtering (long story). Someday, the dependence may go away in future versions.

                  Comment


                    #10
                    Originally posted by alexbk66 View Post
                    Ver 3.0.0.41 (in BETA) - fixes for (please verify each):

                    * Exceptions in the log
                    * Metadata mix-up
                    * Image updates (changing file names)
                    1) Exceptions - A few warnings/errors on a Toggle OFF/ON (Required to get the 3second update to change to 10seconds)
                    Apr-23 9:05:56 AM AK GoogleCast [210]: * (4) Connected to Homeseer (hs_speech_client) HSPI_AKGoogleCast.SpeakerGoogleTransl (Loft speaker) (state connected)...
                    Apr-23 9:05:56 AM Speaker Speaker host added, Name: GOOGLECAST Instance: Loft speaker IP address: 127.0.0.1
                    Apr-23 9:05:56 AM AK GoogleCast [258]: * PlayerState: Idle (Unknown) (ALL SPEAKERS)
                    Apr-23 9:05:56 AM AK GoogleCast ERROR [258]: Connecting to HS gSpeakHost: Object reference not set to an instance of an object
                    Apr-23 9:05:56 AM AK GoogleCast [270]: * VolumeChanged: 0.35 (Upstairs Speakers)
                    Apr-23 9:05:56 AM Error Speaker host attempted to connect: Object reference not set to an instance of an object
                    Apr-23 9:05:56 AM AK GoogleCast Warning [258]: VerifyConnect timer fired - looks like connection chain failed, state connecting
                    Apr-23 9:05:56 AM AK GoogleCast [270]: * Application started: SiriusXM (4156CAC9) (Upstairs Speakers)
                    Apr-23 9:05:56 AM AK GoogleCast [210]: * Speaker Connected (hs_speech_client): Loft speaker
                    Apr-23 9:05:56 AM AK GoogleCast Warning [210]: Loft speaker: Speaker client is not registered - reconnecting
                    Apr-23 9:05:56 AM AK GoogleCast [258]: * Speaker Connected (hs_speech_client): ALL SPEAKERS
                    Apr-23 9:05:56 AM AK GoogleCast [258]: ConnectHSSpeechClient ALL SPEAKERS

                    2) Metadata - More consistent - Stable
                    Only downside, in my "special" app, the Google Home image does not show up properly, but the Chromecast image does. Not sure what the difference is in the IMAGE settings. Also in the "special" app your Controls are Image based. I need to decipher each of your images and change them to TEXT based control. Just some investigation on my part (I think somebody else pointed out this in a previous post. You documented it, I'm sure) - Compare displays below for Image.
                    Click image for larger version

Name:	HomeSeer - AKGC 3.0.0.41 - Metadata changes SiriusXM.jpg
Views:	221
Size:	95.1 KB
ID:	1380321

                    Click image for larger version

Name:	AKGoogleCast 3.0.0.41 APP Chromecast  20200423_091612b.JPG
Views:	182
Size:	74.4 KB
ID:	1380322

                    Click image for larger version

Name:	AKGoogleCast 3.0.0.41 APP GoogleHome 20200423_091317.jpg
Views:	154
Size:	67.8 KB
ID:	1380323

                    3) Image updates - I changed the Update Interval from 3s to 10s to keep the logging down, and less chatty. The PI required a STOP/START for the new change to take hold.

                    Comment


                      #11
                      When using a "Group" Speaker, the Individual speakers show "Stopped". I don't know if it is even possible to Identify which speakers are part of a "group", or mirror the main content.
                      I tested changing the Group volume, as well as the individual volume on each speaker independently. This seems to work fine.

                      Comment


                        #12
                        Originally posted by Mr.Gadget View Post
                        Also in the "special" app your Controls are Image based. I need to decipher each of your images and change them to TEXT based control
                        I just use Unicode characters which are rendered as images. You can change the labels to text if you want.
                        Click image for larger version

Name:	Annotation 2020-04-24 125824.jpg
Views:	91
Size:	77.5 KB
ID:	1380493 public enum eDeviceStates
                        {
                        Unknown = -1,
                        ENABLING = -1000,
                        DISABLED = -1001,
                        Mute = -1002,
                        UnMute = -1003,
                        VolUp = -1004,
                        VolDwn = -1005,
                        Idle = -1006,
                        Paused = -1007,
                        Playing = -1008,
                        Buffering = -1009,
                        Rewind = -1010,
                        Forward = -1011,
                        Prev = -1012,
                        Next = -1013,
                        Load = -1014,
                        TTS_On = 0,
                        TTS_Off = 1,
                        }

                        Comment


                          #13
                          Originally posted by Mr.Gadget View Post
                          When using a "Group" Speaker, the Individual speakers show "Stopped". I don't know if it is even possible to Identify which speakers are part of a "group", or mirror the main content.
                          I tested changing the Group volume, as well as the individual volume on each speaker independently. This seems to work fine.
                          It is possible to get a list of devices in the group from GH, but the protocol is not documented, so it needs a bit of investigation.

                          Another workaround could be - to configure group members in the plugin explicitly - but it less then optimal and will be a pain for the user. Best example - when one of the devices in the group is powered down temporary.

                          Comment

                          Working...
                          X