It’s difficult to figure this out without more details.
Try setting postCommand to false (a long shot, I’m not too familiar with this. It should have nothing to do with sending a command from item → thing. It’s for the other way around.)
I did some tests. It seems that a String mqtt channel won’t accept PlayPauseType as a command.
So as a “trick”, you can add a profile in your player item to channel link. This one would work: profile="transform:DSL", commandFromItemScript="|input"
That converts the PlayPause command to a String which the mqtt will accept.
We should probably relax the requirement for the string channel so it could receive stuff like this though.
09:30:35.282 [ERROR] [n.module.script.profile.ScriptProfile] - Failed to process script ‘profile=“transform:DSL”, commandFromItemScript=“|input”’: Could not get script for UID ‘profile=“transform:DSL”, commandFromItemScript=“|input”’.