I am surprised that your rule triggers at all… Items are objects that carry state (and other info) that needs to be converted to make it useable
As far as I can tell, what I’m doing is supposed to work, as per: https://docs.openhab.org/configuration/rules-dsl.html#event-based-triggers
There is no need to convert state to string, as it is done implicitly.
I could check it in the ‘then’ clause, which is exactly what I’m doing now, but that is kind of ugly and requires me to duplicate rules. The rule would trigger on the button press (Channel “zwave:device:875776fc:node9:event” triggered OFF_stick2), but then it wouldn’t match the if condition and not run. I need this rule to run when EITHER a physical button is pressed OR the TV’s application changes to a specific value). As far as I can tell there is no way to determine which condition exactly triggered the rule so I can’t know in the then clause wether or not to check the TV_Application.state.