This works and displays the state of the ac unit by detecting if the smart plug it’s plugged in to is reading over 150 watts. However, this spams my log with errors:
I think you just need to remove the command_state line from your original configuration. According to the docs, it is optional, and it doesn’t sound like you need to use it in your case.
Hmm. Ok. Well, I’ve never used this component, and I haven’t read the code. But my guess would be, based on what you said, that you do need it. But you don’t care what it does or returns, since you get the state from another sensor. How about using a valid command (like true, which is a Unix command that just sets the return status to 0)? That should cause it to evaluate value_template.
So:
command_state: 'true'
value_template: "{{ states('sensor.tp_link_watts') | int > 150 }}"