Thanks everyone for the replies and thanks a lot to cc_rider for the detailed instructions regarding UPnP.
I managed to get the UPnP Tool to work and it's pretty interesting. Before I always thought UPnP was for just automated setup of certain hardware only, but I've learnt something new now
I've explored all the functions that the WiiM UPnP interface provides. For my use case I could consider switching to the UPnP interface instead of the HTTP API, however, the only advantage it may provide me at this moment is that the "play/stop/pause" status could be more accurate from the UPnP interface (although it "seems" like the actual playback status through the HTTP API has become more accurate recently, maybe since recent WiiM Pro firmware update).
What I ideally was hoping for when I started this thread is that there would be an API function that could just respond whether the device is in Standby/Idle mode or not. So basically pretty much the same as what the 12V trigger could provide, or like the LED light on the actual device: when it's standby/idle the LED light is dimmed, and when it's active then the LED light is bright. It seems that currently neither the UPnP interface nor the HTTP API could provide this status.
My use case is that I want to power off my AMP/Speakers when the WiiM pro is not in use. Let's say if you set the auto-standby time to 2 minutes, then when music is stopped or paused for 2 minutes, the WiiM Pro will automatically go into standby mode (the LED is dimmed, and the device is supposed to consume less power in standby mode). However, when you call the API to get the playback status, it would still return "paused", even the device already went into standby mode. I assume that if you had the 12V trigger, it would have actually switched off your amplifier) Now, with my script that keeps polling the playback status to "try" to determine whether the WiiM is on or off, I need to have "logic" inside my script to determine that if it's "paused" for a certain period of time, it should just assume that the WiiM is off. If you would set a longer auto-standby time (e.g. 20 minutes), it would be much trickier, because in some cases maybe you actually "pause" the music for a while, and then resume again.
Long story short: if the WiiM device could just expose the Standby/Active status through an API, then there's no need for an external app or script to have this logic to "try" to determine whether the WiiM is On or Off since you would just be able to get this information directly from the API of the device.