In looking at the code it seems to me it returns the status. If I set the log level to debug, I see this in log:
2022-08-18 11:09:16.519 DEBUG (MainThread) [custom_components.xantech.media_player] Xantech House Audio zone 11 (Kitchen) status update: {'zone': 1, 'unknown': '00', 'power': False, 'mute': False, 'do_not_disturb': '00', 'volume': 4, 'treble': 12, 'bass': 12, 'balance': 10, 'source': 8, 'keypad': '01'}
2022-08-18 11:09:16.987 DEBUG (MainThread) [custom_components.xantech.media_player] Xantech House Audio zone 12 (Living Room) status update: {'zone': 2, 'unknown': '00', 'power': False, 'mute': False, 'do_not_disturb': '00', 'volume': 3, 'treble': 12, 'bass': 12, 'balance': 10, 'source': 8, 'keypad': '01'}
2022-08-18 11:09:19.730 DEBUG (MainThread) [custom_components.xantech.media_player] Xantech House Audio zone 13 (Deck) status update: {'zone': 3, 'unknown': '00', 'power': False, 'mute': False, 'do_not_disturb': '00', 'volume': 15, 'treble': 16, 'bass': 16, 'balance': 10, 'source': 8, 'keypad': '01'}
2022-08-18 11:09:19.988 DEBUG (MainThread) [custom_components.xantech.media_player] Xantech House Audio zone 14 (Hot Tub) status update: {'zone': 4, 'unknown': '00', 'power': False, 'mute': False, 'do_not_disturb': '00', 'volume': 10, 'treble': 20, 'bass': 15, 'balance': 10, 'source': 8, 'keypad': '01'}
2022-08-18 11:09:22.177 DEBUG (MainThread) [custom_components.xantech.media_player] Xantech House Audio zone 15 (Patio) status update: {'zone': 5, 'unknown': '00', 'power': False, 'mute': False, 'do_not_disturb': '00', 'volume': 24, 'treble': 21, 'bass': 16, 'balance': 14, 'source': 3, 'keypad': '01'}
2022-08-18 11:09:22.455 DEBUG (MainThread) [custom_components.xantech.media_player] Xantech House Audio zone 16 (Foyer) status update: {'zone': 6, 'unknown': '00', 'power': False, 'mute': False, 'do_not_disturb': '00', 'volume': 24, 'treble': 16, 'bass': 17, 'balance': 10, 'source': 8, 'keypad': '01'}
2022-08-18 11:09:22.853 DEBUG (MainThread) [custom_components.xantech.media_player] Xantech House Audio zone 17 (Master) status update: {'zone': 7, 'unknown': '00', 'power': False, 'mute': False, 'do_not_disturb': '00', 'volume': 24, 'treble': 12, 'bass': 12, 'balance': 10, 'source': 8, 'keypad': '01'}
2022-08-18 11:09:23.254 DEBUG (MainThread) [custom_components.xantech.media_player] Xantech House Audio zone 18 (Unused) status update: {'zone': 8, 'unknown': '00', 'power': False, 'mute': False, 'do_not_disturb': '00', 'volume': 8, 'treble': 12, 'bass': 12, 'balance': 10, 'source': 1, 'keypad': '01'}
And then after I turned music on a powered up a few zones:
2022-08-18 12:25:13.654 DEBUG (MainThread) [custom_components.xantech.media_player] Updating Xantech House Audio zone 11 (Kitchen)
2022-08-18 12:25:13.654 DEBUG (MainThread) [custom_components.xantech.media_player] Updating Xantech House Audio zone 12 (Living Room)
2022-08-18 12:25:13.654 DEBUG (MainThread) [custom_components.xantech.media_player] Updating Xantech House Audio zone 13 (Deck)
2022-08-18 12:25:13.654 DEBUG (MainThread) [custom_components.xantech.media_player] Updating Xantech House Audio zone 14 (Hot Tub)
2022-08-18 12:25:13.654 DEBUG (MainThread) [custom_components.xantech.media_player] Updating Xantech House Audio zone 15 (Patio)
2022-08-18 12:25:13.655 DEBUG (MainThread) [custom_components.xantech.media_player] Updating Xantech House Audio zone 16 (Foyer)
2022-08-18 12:25:13.655 DEBUG (MainThread) [custom_components.xantech.media_player] Updating Xantech House Audio zone 17 (Master)
2022-08-18 12:25:13.655 DEBUG (MainThread) [custom_components.xantech.media_player] Updating Xantech House Audio zone 18 (Unused)
2022-08-18 12:25:13.686 DEBUG (MainThread) [custom_components.xantech.media_player] Xantech House Audio zone 11 (Kitchen) status update: {'zone': 1, 'unknown': '00', 'power': False, 'mute': False, 'do_not_disturb': '00', 'volume': 4, 'treble': 12, 'bass': 12, 'balance': 10, 'source': 8, 'keypad': '01'}
2022-08-18 12:25:14.086 DEBUG (MainThread) [custom_components.xantech.media_player] Xantech House Audio zone 12 (Living Room) status update: {'zone': 2, 'unknown': '00', 'power': False, 'mute': False, 'do_not_disturb': '00', 'volume': 3, 'treble': 12, 'bass': 12, 'balance': 10, 'source': 8, 'keypad': '01'}
2022-08-18 12:25:14.488 DEBUG (MainThread) [custom_components.xantech.media_player] Xantech House Audio zone 13 (Deck) status update: {'zone': 3, 'unknown': '00', 'power': True, 'mute': False, 'do_not_disturb': '00', 'volume': 3, 'treble': 16, 'bass': 16, 'balance': 10, 'source': 8, 'keypad': '01'}
2022-08-18 12:25:14.890 DEBUG (MainThread) [custom_components.xantech.media_player] Xantech House Audio zone 14 (Hot Tub) status update: {'zone': 4, 'unknown': '00', 'power': True, 'mute': False, 'do_not_disturb': '00', 'volume': 7, 'treble': 20, 'bass': 15, 'balance': 10, 'source': 8, 'keypad': '01'}
2022-08-18 12:25:15.291 DEBUG (MainThread) [custom_components.xantech.media_player] Xantech House Audio zone 15 (Patio) status update: {'zone': 5, 'unknown': '00', 'power': False, 'mute': False, 'do_not_disturb': '00', 'volume': 24, 'treble': 21, 'bass': 16, 'balance': 14, 'source': 3, 'keypad': '01'}
2022-08-18 12:25:15.694 DEBUG (MainThread) [custom_components.xantech.media_player] Xantech House Audio zone 16 (Foyer) status update: {'zone': 6, 'unknown': '00', 'power': False, 'mute': False, 'do_not_disturb': '00', 'volume': 24, 'treble': 16, 'bass': 17, 'balance': 10, 'source': 8, 'keypad': '01'}
2022-08-18 12:25:16.095 DEBUG (MainThread) [custom_components.xantech.media_player] Xantech House Audio zone 17 (Master) status update: {'zone': 7, 'unknown': '00', 'power': False, 'mute': False, 'do_not_disturb': '00', 'volume': 24, 'treble': 12, 'bass': 12, 'balance': 10, 'source': 8, 'keypad': '01'}
2022-08-18 12:25:16.496 DEBUG (MainThread) [custom_components.xantech.media_player] Xantech House Audio zone 18 (Unused) status update: {'zone': 8, 'unknown': '00', 'power': False, 'mute': False, 'do_not_disturb': '00', 'volume': 8, 'treble': 12, 'bass': 12, 'balance': 10, 'source': 1, 'keypad': '01'}
So I just assume you are talking about “snapshot-ing” the current state and the restoring it (as opposed to just reporting status)?
I would assume I could try calling the service now, changing things, and then call restore? I do not see what that would be used for unless you could save them with a name and restore those names (aka like some scene). And even more, I think the real value would be only if you could “snapshot” the whole receiver with some name and then “restore” the whole receiver from that same name. That would be an extremely valuable feature. A person could put on some music and adjust all the setting for power, volumes (and bass, treble, balance) that could be different in each zone. Snap that like a “scene”/“mood” and then create a button to restore that mood. That is similar in my GUI except I use an automation which adjusts those things individually. One command would be SO much better.
I would note that this is how the Insteon integration works. It allows you to create “scenes” (groups of lights/switches and their states on/brightness/etc.). Then there are services to execute scene_on and scene_off.