Repository: pwr-Solaar/Solaar

Issue:
Power management support for G535 headset
**Information**
- Solaar version: 1.1.8
- Distribution: Ubuntu 22.04


Currently there's no support for setting the power management setting for headsets (at least for the Logitech G535)
It controls when the headset turns itself off after loosing the connection to the usb receiver (usually after turning off the pc)
![grafik](https://user-images.githubusercontent.com/52620063/210227380-cca26a55-bea8-426a-9145-732119c96cfe.png)
![grafik](https://user-images.githubusercontent.com/52620063/210227404-79183f75-ca8e-4f5e-951c-3fc38327293c.png)

Here are two wireshark captures using the G Hub software under Windows:
- Setting power management to 1 minute: [1minute.pcapng.gz](https://github.com/pwr-Solaar/Solaar/files/10331327/1minute.pcapng.gz)
-  Setting power management to never, cycling through all settings and setting it to never: [pm_loop.pcapng.gz](https://github.com/pwr-Solaar/Solaar/files/10331336/pm_loop.pcapng.gz)

If something else is needed please let me know.


Discussion:
This looks like something that Solaar might be able to do.   The relevant part of the communication appears to be using an HID++ message, but one that I do not have documentation for.  If you capture interactions for all the values it might be possible to write code for a Solaar setting for this.
Ooops I was looking at only the first capture.  I see you provided them all.
If you are using this headset under Linux is would be useful to see what values are possible for this function.    Solaar has a tool to send HID++ commands to devices which is available if you clone Solaar from this repository.

Find out the hidraw node for the headset.  Solaar shows this in the detailed information pane - click on the information or lightbulb button.

From the Solaar repository clone run `./tools/hidconsole /dev/hidrawN` for the appropriate N.  The send commands like
```
11 ff 05 2b XX 000000000000000000000000000000
```
for XX ranging from 00 up to 1e and beyond until you get uniform responses that have 05 in the fourth byte instead of the third.   (These are error responses - normal responses will have the 05 in the third byte.)  

Post the result.


Hope this is what you need:

<details><summary>hidconsole output</summary>

```
?? Input: 11 ff 05 2b 00 000000000000000000000000000000
<< (   4.788) [11 FF 052B 00000000000000000000000000000000] b'\x11\xff\x05+\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> (   4.824) [11 FF 052B 00000000000000000000000000000000] b'\x11\xff\x05+\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 01 000000000000000000000000000000
<< (  10.982) [11 FF 052B 01000000000000000000000000000000] b'\x11\xff\x05+\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> (  11.017) [11 FF 052B 01000000000000000000000000000000] b'\x11\xff\x05+\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 02 000000000000000000000000000000
<< (  20.826) [11 FF 052B 02000000000000000000000000000000] b'\x11\xff\x05+\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> (  20.874) [11 FF 052B 02000000000000000000000000000000] b'\x11\xff\x05+\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 03 000000000000000000000000000000
<< (  26.779) [11 FF 052B 03000000000000000000000000000000] b'\x11\xff\x05+\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> (  26.827) [11 FF 052B 03000000000000000000000000000000] b'\x11\xff\x05+\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 04 000000000000000000000000000000
<< (  31.737) [11 FF 052B 04000000000000000000000000000000] b'\x11\xff\x05+\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> (  31.771) [11 FF 052B 04000000000000000000000000000000] b'\x11\xff\x05+\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 05 000000000000000000000000000000
<< (  35.366) [11 FF 052B 05000000000000000000000000000000] b'\x11\xff\x05+\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> (  35.404) [11 FF 052B 05000000000000000000000000000000] b'\x11\xff\x05+\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 06 000000000000000000000000000000
<< (  41.450) [11 FF 052B 06000000000000000000000000000000] b'\x11\xff\x05+\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> (  41.484) [11 FF 052B 06000000000000000000000000000000] b'\x11\xff\x05+\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 07 000000000000000000000000000000
<< ( 231.936) [11 FF 052B 07000000000000000000000000000000] b'\x11\xff\x05+\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 231.971) [11 FF 052B 07000000000000000000000000000000] b'\x11\xff\x05+\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 08 000000000000000000000000000000
<< ( 236.338) [11 FF 052B 08000000000000000000000000000000] b'\x11\xff\x05+\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 236.387) [11 FF 052B 08000000000000000000000000000000] b'\x11\xff\x05+\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 09 000000000000000000000000000000
<< ( 239.904) [11 FF 052B 09000000000000000000000000000000] b'\x11\xff\x05+\t\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 239.940) [11 FF 052B 09000000000000000000000000000000] b'\x11\xff\x05+\t\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

?? Input: 11 ff 05 2b A0 000000000000000000000000000000
<< ( 267.724) [11 FF 052B A0000000000000000000000000000000] b'\x11\xff\x05+\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 267.767) [11 FF 052B A0000000000000000000000000000000] b'\x11\xff\x05+\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b B0 000000000000000000000000000000
<< ( 315.775) [11 FF 052B B0000000000000000000000000000000] b'\x11\xff\x05+\xb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 315.820) [11 FF 052B B0000000000000000000000000000000] b'\x11\xff\x05+\xb0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 0A 000000000000000000000000000000
<< ( 492.764) [11 FF 052B 0A000000000000000000000000000000] b'\x11\xff\x05+\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 492.801) [11 FF 052B 0A000000000000000000000000000000] b'\x11\xff\x05+\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 0B 000000000000000000000000000000
<< ( 496.504) [11 FF 052B 0B000000000000000000000000000000] b'\x11\xff\x05+\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 496.545) [11 FF 052B 0B000000000000000000000000000000] b'\x11\xff\x05+\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 0C 000000000000000000000000000000
<< ( 499.888) [11 FF 052B 0C000000000000000000000000000000] b'\x11\xff\x05+\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 499.922) [11 FF 052B 0C000000000000000000000000000000] b'\x11\xff\x05+\x0c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 0D 000000000000000000000000000000
<< ( 503.188) [11 FF 052B 0D000000000000000000000000000000] b'\x11\xff\x05+\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 503.234) [11 FF 052B 0D000000000000000000000000000000] b'\x11\xff\x05+\r\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 0E 000000000000000000000000000000
<< ( 509.987) [11 FF 052B 0E000000000000000000000000000000] b'\x11\xff\x05+\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 510.035) [11 FF 052B 0E000000000000000000000000000000] b'\x11\xff\x05+\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 0F 000000000000000000000000000000
<< ( 515.012) [11 FF 052B 0F000000000000000000000000000000] b'\x11\xff\x05+\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 515.060) [11 FF 052B 0F000000000000000000000000000000] b'\x11\xff\x05+\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

?? Input: 11 ff 05 2b 10 000000000000000000000000000000
<< ( 559.663) [11 FF 052B 10000000000000000000000000000000] b'\x11\xff\x05+\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 559.705) [11 FF 052B 10000000000000000000000000000000] b'\x11\xff\x05+\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 11 000000000000000000000000000000
<< ( 563.203) [11 FF 052B 11000000000000000000000000000000] b'\x11\xff\x05+\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 563.241) [11 FF 052B 11000000000000000000000000000000] b'\x11\xff\x05+\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 12 000000000000000000000000000000
<< ( 566.402) [11 FF 052B 12000000000000000000000000000000] b'\x11\xff\x05+\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 566.442) [11 FF 052B 12000000000000000000000000000000] b'\x11\xff\x05+\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 13 000000000000000000000000000000
<< ( 569.588) [11 FF 052B 13000000000000000000000000000000] b'\x11\xff\x05+\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 569.626) [11 FF 052B 13000000000000000000000000000000] b'\x11\xff\x05+\x13\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 14 000000000000000000000000000000
<< ( 572.732) [11 FF 052B 14000000000000000000000000000000] b'\x11\xff\x05+\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 572.778) [11 FF 052B 14000000000000000000000000000000] b'\x11\xff\x05+\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 15 000000000000000000000000000000
<< ( 576.226) [11 FF 052B 15000000000000000000000000000000] b'\x11\xff\x05+\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 576.267) [11 FF 052B 15000000000000000000000000000000] b'\x11\xff\x05+\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 16 000000000000000000000000000000
<< ( 581.087) [11 FF 052B 16000000000000000000000000000000] b'\x11\xff\x05+\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 581.131) [11 FF 052B 16000000000000000000000000000000] b'\x11\xff\x05+\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 17 000000000000000000000000000000
<< ( 584.393) [11 FF 052B 17000000000000000000000000000000] b'\x11\xff\x05+\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 584.428) [11 FF 052B 17000000000000000000000000000000] b'\x11\xff\x05+\x17\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 18 000000000000000000000000000000
<< ( 587.749) [11 FF 052B 18000000000000000000000000000000] b'\x11\xff\x05+\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 587.788) [11 FF 052B 18000000000000000000000000000000] b'\x11\xff\x05+\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 19 000000000000000000000000000000
<< ( 591.143) [11 FF 052B 19000000000000000000000000000000] b'\x11\xff\x05+\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 591.181) [11 FF 052B 19000000000000000000000000000000] b'\x11\xff\x05+\x19\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

?? Input: 11 ff 05 2b 1A 000000000000000000000000000000
<< ( 620.833) [11 FF 052B 1A000000000000000000000000000000] b'\x11\xff\x05+\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 620.880) [11 FF 052B 1A000000000000000000000000000000] b'\x11\xff\x05+\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 1B 000000000000000000000000000000
<< ( 625.218) [11 FF 052B 1B000000000000000000000000000000] b'\x11\xff\x05+\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 625.264) [11 FF 052B 1B000000000000000000000000000000] b'\x11\xff\x05+\x1b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 1C 000000000000000000000000000000
<< ( 629.233) [11 FF 052B 1C000000000000000000000000000000] b'\x11\xff\x05+\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 629.281) [11 FF 052B 1C000000000000000000000000000000] b'\x11\xff\x05+\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 1D 000000000000000000000000000000
<< ( 632.515) [11 FF 052B 1D000000000000000000000000000000] b'\x11\xff\x05+\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 632.561) [11 FF 052B 1D000000000000000000000000000000] b'\x11\xff\x05+\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 1E 000000000000000000000000000000
<< ( 635.833) [11 FF 052B 1E000000000000000000000000000000] b'\x11\xff\x05+\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 635.874) [11 FF 052B 1E000000000000000000000000000000] b'\x11\xff\x05+\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

?? Input: 11 ff 05 2b 1F 000000000000000000000000000000
<< ( 696.835) [11 FF 052B 1F000000000000000000000000000000] b'\x11\xff\x05+\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 696.873) [11 FF 052B 1F000000000000000000000000000000] b'\x11\xff\x05+\x1f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 20 000000000000000000000000000000
<< ( 702.016) [11 FF 052B 20000000000000000000000000000000] b'\x11\xff\x05+ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 702.057) [11 FF 052B 20000000000000000000000000000000] b'\x11\xff\x05+ \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 21 000000000000000000000000000000
<< ( 724.968) [11 FF 052B 21000000000000000000000000000000] b'\x11\xff\x05+!\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 725.004) [11 FF 052B 21000000000000000000000000000000] b'\x11\xff\x05+!\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 22 000000000000000000000000000000
<< ( 729.764) [11 FF 052B 22000000000000000000000000000000] b'\x11\xff\x05+"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 729.805) [11 FF 052B 22000000000000000000000000000000] b'\x11\xff\x05+"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 23 000000000000000000000000000000
<< ( 733.164) [11 FF 052B 23000000000000000000000000000000] b'\x11\xff\x05+#\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 733.213) [11 FF 052B 23000000000000000000000000000000] b'\x11\xff\x05+#\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 24 000000000000000000000000000000
<< ( 737.327) [11 FF 052B 24000000000000000000000000000000] b'\x11\xff\x05+$\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 737.374) [11 FF 052B 24000000000000000000000000000000] b'\x11\xff\x05+$\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 25 000000000000000000000000000000
<< ( 740.501) [11 FF 052B 25000000000000000000000000000000] b'\x11\xff\x05+%\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 740.542) [11 FF 052B 25000000000000000000000000000000] b'\x11\xff\x05+%\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 26 000000000000000000000000000000
<< ( 855.613) [11 FF 052B 26000000000000000000000000000000] b'\x11\xff\x05+&\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 855.659) [11 FF 052B 26000000000000000000000000000000] b'\x11\xff\x05+&\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 27 000000000000000000000000000000
<< ( 858.959) [11 FF 052B 27000000000000000000000000000000] b"\x11\xff\x05+'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
>> ( 859.004) [11 FF 052B 27000000000000000000000000000000] b"\x11\xff\x05+'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
?? Input: 11 ff 05 2b 28 000000000000000000000000000000
<< ( 862.254) [11 FF 052B 28000000000000000000000000000000] b'\x11\xff\x05+(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 862.300) [11 FF 052B 28000000000000000000000000000000] b'\x11\xff\x05+(\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 29 000000000000000000000000000000
<< ( 865.607) [11 FF 052B 29000000000000000000000000000000] b'\x11\xff\x05+)\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 865.644) [11 FF 052B 29000000000000000000000000000000] b'\x11\xff\x05+)\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 2A 000000000000000000000000000000
<< ( 885.300) [11 FF 052B 2A000000000000000000000000000000] b'\x11\xff\x05+*\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 885.343) [11 FF 052B 2A000000000000000000000000000000] b'\x11\xff\x05+*\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 2B 000000000000000000000000000000
<< ( 888.940) [11 FF 052B 2B000000000000000000000000000000] b'\x11\xff\x05++\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 888.975) [11 FF 052B 2B000000000000000000000000000000] b'\x11\xff\x05++\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 2C 000000000000000000000000000000
<< ( 892.194) [11 FF 052B 2C000000000000000000000000000000] b'\x11\xff\x05+,\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 892.240) [11 FF 052B 2C000000000000000000000000000000] b'\x11\xff\x05+,\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 2D 000000000000000000000000000000
<< ( 895.550) [11 FF 052B 2D000000000000000000000000000000] b'\x11\xff\x05+-\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 895.584) [11 FF 052B 2D000000000000000000000000000000] b'\x11\xff\x05+-\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 2E 000000000000000000000000000000
<< ( 898.856) [11 FF 052B 2E000000000000000000000000000000] b'\x11\xff\x05+.\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 898.896) [11 FF 052B 2E000000000000000000000000000000] b'\x11\xff\x05+.\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 2F 000000000000000000000000000000
<< ( 902.344) [11 FF 052B 2F000000000000000000000000000000] b'\x11\xff\x05+/\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> ( 902.385) [11 FF 052B 2F000000000000000000000000000000] b'\x11\xff\x05+/\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
```

<details>
That's helpful.  It looks as if all values from 0 to 47 work fine.  Could you try to do a search to find the highest working value?  First try xFF to see if all values work.  Other potential highest working values are x64 (100) and x3c (60).
PR #1952 has the first pass at a setting for ADC power management.  Please run it and see whether it works.  Currently it allows any value between 1 and 255 plus 0 for never.

To clone and use Solar from its GitHub repository
```
git clone https://github.com/pwr-Solaar/Solaar.git
cd Solaar
```
Run Solaar as bin/solaar from this directory.


To run PR #1952, first clone Solaar if you have not already done so and cd to the clone directory.  The first time you download the pull request, fetch it into a new branch and checkout that branch, as in:
```
git fetch origin pull/1952/head:pull_1952
git checkout pull_1952
```
To download a new version of the pull request, fetch it and then set your pull branch to the new fetch, as in:
```
git checkout pull_1952
git fetch origin pull/1952/head
git reset --hard FETCH_HEAD
```

With the PR it seems to be working and the value is accepted in Logitech G Hub if it's in the list (1,2,5,10,15,30) otherwise it's listed as never.

```
?? Input: 11 ff 05 2b FF 000000000000000000000000000000
<< (  66.711) [11 FF 052B FF000000000000000000000000000000] b'\x11\xff\x05+\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> (  66.749) [11 FF 052B FF000000000000000000000000000000] b'\x11\xff\x05+\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 64 000000000000000000000000000000
<< (  74.491) [11 FF 052B 64000000000000000000000000000000] b'\x11\xff\x05+d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> (  74.526) [11 FF 052B 64000000000000000000000000000000] b'\x11\xff\x05+d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
?? Input: 11 ff 05 2b 3c 000000000000000000000000000000
<< (  81.022) [11 FF 052B 3C000000000000000000000000000000] b'\x11\xff\x05+<\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
>> (  81.071) [11 FF 052B 3C000000000000000000000000000000] b'\x11\xff\x05+<\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
```
So it looks as if all 256 values are accepted.   Can you try a value that is not in the G Hub list and see whether the headset turns off as expected?  Try something small, like 4 or 6.
Also see what `solaar show` produces after you try the non-list value
Values not in the list in G Hub also work

```
$ solaar show
solaar version 1.1.8

USB and Bluetooth Devices

  1: G535 Wireless Gaming Headset
     Device path  : /dev/hidraw2
     USB id       : 046d:0AC4
     Codename     : G535
     Kind         : ?
     Protocol     : HID++ 4.2
     Serial number: 
     Model ID:      000000000AC4
     Unit ID:       FFFFFFFF
          Firmware: U1  90.00.B0200
     Supports 6 HID++ 2.0 features:
         0: ROOT                   {0000} V0     
         1: FEATURE SET            {0001} V0     
         2: DEVICE FW VERSION      {0003} V2     
            Firmware: Firmware U1  90.00.B0200 0AC4
            Unit ID: FFFFFFFF  Model ID: 000000000AC4  Transport IDs: {'btid': '0000', 'btleid': '0000'}
         3: DEVICE NAME            {0005} V0     
            Name: G535 Wireless Gaming Headset
            Kind: None
         4: SIDETONE               {8300} V0     
            Sidetone (saved): 0
            Sidetone        : HID++ error {'number': 255, 'request': 1032, 'error': 2, 'params': b''}
         5: ADC MEASUREMENT        {1F20} V3     
            Battery status unavailable.
            Power Management (saved): 4
            Power Management        : HID++ error {'number': 255, 'request': 1304, 'error': 2, 'params': b''}
     Battery status unavailable.
```

<details><summary>solaar -ddd show</summary>

```
$ solaar -ddd show
2023-01-02 17:24:15,246,246  WARNING [MainThread] hidapi.udev: Report Descriptor not processed for BID 0003 VID 00000D8C PID 0000013C: Expecting 3 usages but got 1
2023-01-02 17:24:15,247,247     INFO [MainThread] hidapi.udev: Found device BID 0003 VID 0000046D PID 00000AC4 HID++ False True USB 3 None
2023-01-02 17:24:15,247,247    DEBUG [MainThread] solaar.cli: [/dev/hidraw2] => <Device(255,0AC4,Unknown device 0AC4,)>
solaar version 1.1.8

USB and Bluetooth Devices

2023-01-02 17:24:15,247,247    DEBUG [MainThread] logitech_receiver.base: (4) pinging device 255
2023-01-02 17:24:15,247,247     INFO [MainThread] logitech_receiver.base: New lock 4
2023-01-02 17:24:15,248,248    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 0019 0000EE00000000000000000000000000]
2023-01-02 17:24:15,288,288    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 0019 0402EE00000000000000000000000000]
2023-01-02 17:24:15,288,288    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 000D 00010000000000000000000000000000]
2023-01-02 17:24:15,336,336    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 000D 01000000000000000000000000000000]
2023-01-02 17:24:15,336,336    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 010C 00000000000000000000000000000000]
2023-01-02 17:24:15,384,384    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 010C 05000000000000000000000000000000]
2023-01-02 17:24:15,384,384    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 000A 00050000000000000000000000000000]
2023-01-02 17:24:15,432,432    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 000A 03000000000000000000000000000000]
2023-01-02 17:24:15,432,432    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 030B 00000000000000000000000000000000]
2023-01-02 17:24:15,480,480    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 030B 1C000000000000000000000000000000]
2023-01-02 17:24:15,480,480    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 031A 00000000000000000000000000000000]
2023-01-02 17:24:15,528,528    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 031A 4735333520576972656C657373204761]
2023-01-02 17:24:15,528,528    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 031F 10000000000000000000000000000000]
2023-01-02 17:24:15,576,576    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 031F 6D696E67204865616473657400000000]
  1: G535 Wireless Gaming Headset
     Device path  : /dev/hidraw2
     USB id       : 046d:0AC4
2023-01-02 17:24:15,576,576    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 000E 00070000000000000000000000000000]
2023-01-02 17:24:15,624,624    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 000E 00000000000000000000000000000000]
     Codename     : G535
2023-01-02 17:24:15,624,624    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 032B 00000000000000000000000000000000]
2023-01-02 17:24:15,672,672    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 032B 08000000000000000000000000000000]
     Kind         : ?
     Protocol     : HID++ 4.2
2023-01-02 17:24:15,672,672    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 000D 80600000000000000000000000000000]
2023-01-02 17:24:15,720,720    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 000D 00000000000000000000000000000000]
     Serial number: 
2023-01-02 17:24:15,720,720    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 000A 00030000000000000000000000000000]
2023-01-02 17:24:15,768,768    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 000A 02000200000000000000000000000000]
2023-01-02 17:24:15,768,768    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 020B 00000000000000000000000000000000]
2023-01-02 17:24:15,816,816    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 020B 01FFFFFFFF0003000000000AC4000000]
     Model ID:      000000000AC4
     Unit ID:       FFFFFFFF
2023-01-02 17:24:15,816,816    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 0209 00000000000000000000000000000000]
2023-01-02 17:24:15,864,864    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 0209 01FFFFFFFF0003000000000AC4000000]
2023-01-02 17:24:15,864,864    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 021C 00000000000000000000000000000000]
2023-01-02 17:24:15,912,912    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 021C 0055312090000200010AC40000000000]
          Firmware: U1  90.00.B0200
2023-01-02 17:24:15,912,912    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 032D 00000000000000000000000000000000]
2023-01-02 17:24:15,960,960    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 032D 08000000000000000000000000000000]
2023-01-02 17:24:15,960,960    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 032E 00000000000000000000000000000000]
2023-01-02 17:24:16,008,008    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 032E 08000000000000000000000000000000]
     Supports 6 HID++ 2.0 features:
2023-01-02 17:24:16,013,013    DEBUG [MainThread] solaar.configuration: load => ['1.1.8', {'_NAME': 'G502 SE Hero Gaming Mouse', '_absent': ['hi-res-scroll', 'lowres-scroll-mode', 'hires-smooth-invert', 'hires-smooth-resolution', 'hires-scroll-mode', 'scroll-ratchet', 'smart-shift', 'thumb-scroll-invert', 'thumb-scroll-mode', 'pointer_speed', 'speed-change', 'backlight', 'backlight-timed', 'fn-swap', 'reprogrammable-keys', 'persistent-remappable-keys', 'divert-keys', 'disable-keyboard-keys', 'crown-smooth', 'divert-crown', 'divert-gkeys', 'm-key-leds', 'mr-key-led', 'multiplatform', 'change-host', 'gesture2-gestures', 'gesture2-divert', 'gesture2-params', 'sidetone', 'equalizer', 'adc_power_management'], '_battery': 0, '_modelId': 'C08B00000000', '_sensitive': {'dpi': False, 'onboard_profiles': False, 'report_rate': False}, '_unitId': '3131470F', 'dpi': 2400, 'onboard_profiles': 1, 'report_rate': 1}, {'_NAME': 'G535 Wireless Gaming Headset', '_absent': ['hi-res-scroll', 'lowres-scroll-mode', 'hires-smooth-invert', 'hires-smooth-resolution', 'hires-scroll-mode', 'scroll-ratchet', 'smart-shift', 'thumb-scroll-invert', 'thumb-scroll-mode', 'onboard_profiles', 'report_rate', 'pointer_speed', 'dpi', 'speed-change', 'backlight', 'backlight-timed', 'fn-swap', 'reprogrammable-keys', 'persistent-remappable-keys', 'divert-keys', 'disable-keyboard-keys', 'crown-smooth', 'divert-crown', 'divert-gkeys', 'm-key-leds', 'mr-key-led', 'multiplatform', 'change-host', 'gesture2-gestures', 'gesture2-divert', 'gesture2-params', 'equalizer'], '_battery': 7968, '_modelId': '000000000AC4', '_sensitive': {'adc_power_management': True, 'sidetone': True}, '_unitId': 'FFFFFFFF', 'adc_power_management': 4, 'sidetone': 0}]
2023-01-02 17:24:16,013,013    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 000D 83000000000000000000000000000000]
2023-01-02 17:24:16,056,056    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 000D 04000000000000000000000000000000]
2023-01-02 17:24:16,056,056    DEBUG [MainThread] logitech_receiver.settings_templates: check_feature sidetone [SIDETONE] detected <Setting([Feature:range] G535:sidetone=None)>
2023-01-02 17:24:16,056,056    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 000D 1F200000000000000000000000000000]
2023-01-02 17:24:16,104,104    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 000D 05000300000000000000000000000000]
2023-01-02 17:24:16,104,104    DEBUG [MainThread] logitech_receiver.settings_templates: check_feature adc_power_management [ADC MEASUREMENT] detected <Setting([Feature:range] G535:adc_power_management=None)>
2023-01-02 17:24:16,104,104    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 0009 00000000000000000000000000000000]
2023-01-02 17:24:16,152,152    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 0009 00000000000000000000000000000000]
         0: ROOT                   {0000} V0     
2023-01-02 17:24:16,152,152    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 0008 00010000000000000000000000000000]
2023-01-02 17:24:16,200,200    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 0008 01000000000000000000000000000000]
         1: FEATURE SET            {0001} V0     
2023-01-02 17:24:16,200,200    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 0009 00030000000000000000000000000000]
2023-01-02 17:24:16,248,248    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 0009 02000200000000000000000000000000]
         2: DEVICE FW VERSION      {0003} V2     
2023-01-02 17:24:16,248,248    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 020B 00000000000000000000000000000000]
2023-01-02 17:24:16,296,296    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 020B 01FFFFFFFF0003000000000AC4000000]
2023-01-02 17:24:16,296,296    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 021D 00000000000000000000000000000000]
2023-01-02 17:24:16,344,344    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 021D 0055312090000200010AC40000000000]
            Firmware: Firmware U1  90.00.B0200 0AC4
2023-01-02 17:24:16,344,344    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 0209 00000000000000000000000000000000]
2023-01-02 17:24:16,392,392    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 0209 01FFFFFFFF0003000000000AC4000000]
            Unit ID: FFFFFFFF  Model ID: 000000000AC4  Transport IDs: {'btid': '0000', 'btleid': '0000'}
2023-01-02 17:24:16,392,392    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 0009 00050000000000000000000000000000]
2023-01-02 17:24:16,440,440    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 0009 03000000000000000000000000000000]
         3: DEVICE NAME            {0005} V0     
2023-01-02 17:24:16,440,440    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 030E 00000000000000000000000000000000]
2023-01-02 17:24:16,488,488    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 030E 1C000000000000000000000000000000]
2023-01-02 17:24:16,488,488    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 0318 00000000000000000000000000000000]
2023-01-02 17:24:16,536,536    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 0318 4735333520576972656C657373204761]
2023-01-02 17:24:16,536,536    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 031C 10000000000000000000000000000000]
2023-01-02 17:24:16,584,584    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 031C 6D696E67204865616473657400000000]
            Name: G535 Wireless Gaming Headset
2023-01-02 17:24:16,584,584    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 032D 00000000000000000000000000000000]
2023-01-02 17:24:16,632,632    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 032D 08000000000000000000000000000000]
            Kind: None
2023-01-02 17:24:16,632,632    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 000C 83000000000000000000000000000000]
2023-01-02 17:24:16,680,680    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 000C 04000000000000000000000000000000]
         4: SIDETONE               {8300} V0     
            Sidetone (saved): 0
2023-01-02 17:24:16,680,680    DEBUG [MainThread] logitech_receiver.settings: sidetone: settings read None from <Device(255,0AC4,G535 Wireless Gaming Headset,)>
2023-01-02 17:24:16,680,680    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 040F 00000000000000000000000000000000]
2023-01-02 17:24:16,728,728    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF FF04 0F020000000000000000000000000000]
2023-01-02 17:24:16,728,728    ERROR [MainThread] logitech_receiver.base: (4) device 255 error on feature request {040F}: 2 = invalid argument
            Sidetone        : HID++ error {'number': 255, 'request': 1039, 'error': 2, 'params': b''}
2023-01-02 17:24:16,728,728    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 000A 1F200000000000000000000000000000]
2023-01-02 17:24:16,776,776    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 000A 05000300000000000000000000000000]
         5: ADC MEASUREMENT        {1F20} V3     
2023-01-02 17:24:16,776,776    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 050A 00000000000000000000000000000000]
2023-01-02 17:24:16,824,824    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF FF05 0A020000000000000000000000000000]
2023-01-02 17:24:16,824,824    ERROR [MainThread] logitech_receiver.base: (4) device 255 error on feature request {050A}: 2 = invalid argument
            Battery status unavailable.
            Power Management (saved): 4
2023-01-02 17:24:16,824,824    DEBUG [MainThread] logitech_receiver.settings: adc_power_management: settings read None from <Device(255,0AC4,G535 Wireless Gaming Headset,)>
2023-01-02 17:24:16,824,824    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 0519 00000000000000000000000000000000]
2023-01-02 17:24:16,872,872    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF FF05 19020000000000000000000000000000]
2023-01-02 17:24:16,872,872    ERROR [MainThread] logitech_receiver.base: (4) device 255 error on feature request {0519}: 2 = invalid argument
            Power Management        : HID++ error {'number': 255, 'request': 1305, 'error': 2, 'params': b''}
2023-01-02 17:24:16,872,872    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 000F 1B010000000000000000000000000000]
2023-01-02 17:24:16,920,920    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 000F 00000000000000000000000000000000]
2023-01-02 17:24:16,920,920    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 000D 1B040000000000000000000000000000]
2023-01-02 17:24:16,968,968    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 000D 00000000000000000000000000000000]
2023-01-02 17:24:16,968,968    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 000F 1C000000000000000000000000000000]
2023-01-02 17:24:17,016,016    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 000F 00000000000000000000000000000000]
2023-01-02 17:24:17,016,016    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 000F 65010000000000000000000000000000]
2023-01-02 17:24:17,064,064    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF 000F 00000000000000000000000000000000]
2023-01-02 17:24:17,064,064    DEBUG [MainThread] logitech_receiver.base: (4) <= w[11 FF 050E 00000000000000000000000000000000]
2023-01-02 17:24:17,112,112    DEBUG [MainThread] logitech_receiver.base: (4) => r[11 FF FF05 0E020000000000000000000000000000]
2023-01-02 17:24:17,112,112    ERROR [MainThread] logitech_receiver.base: (4) device 255 error on feature request {050E}: 2 = invalid argument
     Battery status unavailable.
```

<details>
Can you try with the headset itself active?   Solaar is seeing error messages that I think are caused by the headset being in power-saving mode.
Whoops, my bad

```
$ solaar show
solaar version 1.1.8

USB and Bluetooth Devices

  1: G535 Wireless Gaming Headset
     Device path  : /dev/hidraw2
     USB id       : 046d:0AC4
     Codename     : G535
     Kind         : ?
     Protocol     : HID++ 4.2
     Serial number: 
     Model ID:      000000000AC4
     Unit ID:       FFFFFFFF
          Firmware: U1  90.00.B0200
     Supports 6 HID++ 2.0 features:
         0: ROOT                   {0000} V0     
         1: FEATURE SET            {0001} V0     
         2: DEVICE FW VERSION      {0003} V2     
            Firmware: Firmware U1  90.00.B0200 0AC4
            Unit ID: FFFFFFFF  Model ID: 000000000AC4  Transport IDs: {'btid': '0000', 'btleid': '0000'}
         3: DEVICE NAME            {0005} V0     
            Name: G535 Wireless Gaming Headset
            Kind: None
         4: SIDETONE               {8300} V0     
            Sidetone (saved): 0
            Sidetone        : 0
         5: ADC MEASUREMENT        {1F20} V3     
            Battery: 30% 3770mV , discharging.
            Power Management (saved): 4
            Power Management        : 4
     Battery: 30% 3770mV , discharging.
```

OK.  That looks good.  Try with a power management value of 7 (or something else not on the official list).
Works, thanks!

```
  1: G535 Wireless Gaming Headset
     Device path  : /dev/hidraw2
     USB id       : 046d:0AC4
     Codename     : G535
     Kind         : ?
     Protocol     : HID++ 4.2
     Serial number: 
     Model ID:      000000000AC4
     Unit ID:       FFFFFFFF
          Firmware: U1  90.00.B0200
     Supports 6 HID++ 2.0 features:
         0: ROOT                   {0000} V0     
         1: FEATURE SET            {0001} V0     
         2: DEVICE FW VERSION      {0003} V2     
            Firmware: Firmware U1  90.00.B0200 0AC4
            Unit ID: FFFFFFFF  Model ID: 000000000AC4  Transport IDs: {'btid': '0000', 'btleid': '0000'}
         3: DEVICE NAME            {0005} V0     
            Name: G535 Wireless Gaming Headset
            Kind: None
         4: SIDETONE               {8300} V0     
            Sidetone (saved): 0
            Sidetone        : 0
         5: ADC MEASUREMENT        {1F20} V3     
            Battery: 30% 3766mV , discharging.
            Power Management (saved): 7
            Power Management        : 7
     Battery: 30% 3770mV , discharging.
```
Hi.  It looks like the power management timer is in non-volatile memory.  It may be that this memory can wear out.  With the PR here Solaar is writing to that memory a lot.  I'll put together an enhancement to Solaar to prevent this, but I suggest not using the PR for now.

Resolving patch:
diff --git a/lib/logitech_receiver/settings.py b/lib/logitech_receiver/settings.py
--- a/lib/logitech_receiver/settings.py
+++ b/lib/logitech_receiver/settings.py
@@ -267,12 +267,11 @@ def _pre_read(self, cached, key=None):
     def read(self, cached=True):
         assert hasattr(self, '_value')
         assert hasattr(self, '_device')
-        if _log.isEnabledFor(_DEBUG):
-            _log.debug('%s: settings read %r from %s', self.name, self._value, self._device)
 
         self._pre_read(cached)
-
         if cached and self._value is not None:
+            if _log.isEnabledFor(_DEBUG):
+                _log.debug('%s: cached value %r on %s', self.name, self._value, self._device)
             return self._value
 
         if self._device.online:
@@ -283,6 +282,8 @@ def read(self, cached=True):
                 # Don't update the persister if it already has a value,
                 # otherwise the first read might overwrite the value we wanted.
                 self._device.persister[self.name] = self._value if self.persist else None
+            if _log.isEnabledFor(_DEBUG):
+                _log.debug('%s: read value %r on %s', self.name, self._value, self._device)
             return self._value
 
     def _pre_write(self, save=True):
@@ -302,7 +303,7 @@ def write(self, value, save=True):
         assert value is not None
 
         if _log.isEnabledFor(_DEBUG):
-            _log.debug('%s: setting write %r to %s', self.name, value, self._device)
+            _log.debug('%s: write %r to %s', self.name, value, self._device)
 
         if self._device.online:
             if self._value != value:
@@ -312,11 +313,13 @@ def write(self, value, save=True):
             if self._validator.needs_current_value:
                 # the _validator needs the current value, possibly to merge flag values
                 current_value = self._rw.read(self._device)
+                if _log.isEnabledFor(_DEBUG):
+                    _log.debug('%s: current value %r on %s', self.name, current_value, self._device)
 
             data_bytes = self._validator.prepare_write(value, current_value)
             if data_bytes is not None:
                 if _log.isEnabledFor(_DEBUG):
-                    _log.debug('%s: settings prepare write(%s) => %r', self.name, value, data_bytes)
+                    _log.debug('%s: prepare write(%s) => %r', self.name, value, data_bytes)
 
                 reply = self._rw.write(self._device, data_bytes)
                 if not reply:
@@ -334,10 +337,8 @@ def compare(self, args, current):
     def apply(self):
         assert hasattr(self, '_value')
         assert hasattr(self, '_device')
-
         if _log.isEnabledFor(_DEBUG):
-            _log.debug('%s: apply %s (%s)', self.name, self._value, self._device)
-
+            _log.debug('%s: apply (%s)', self.name, self._device)
         value = self.read(self.persist)  # Don't use persisted value if setting doesn't persist
         if self.persist and value is not None:  # If setting doesn't persist no need to write value just read
             try:
@@ -1162,7 +1163,7 @@ def __init__(self, min_value=0, max_value=255, byte_count=1):
         assert max_value > min_value
         self.min_value = min_value
         self.max_value = max_value
-        self.needs_current_value = False
+        self.needs_current_value = True  # read and check before write (needed for ADC power and probably a good idea anyway)
 
         self._byte_count = math.ceil(math.log(max_value + 1, 256))
         if byte_count:
@@ -1179,7 +1180,10 @@ def validate_read(self, reply_bytes):
     def prepare_write(self, new_value, current_value=None):
         if new_value < self.min_value or new_value > self.max_value:
             raise ValueError('invalid choice %r' % new_value)
-        return _int2bytes(new_value, self._byte_count)
+        current_value = self.validate_read(current_value) if current_value is not None else None
+        to_write = _int2bytes(new_value, self._byte_count)
+        # current value is known and same as value to be written return None to signal not to write it
+        return None if current_value is not None and current_value == new_value else to_write
 
     def acceptable(self, args, current):
         arg = args[0]


Test patch: