Rule Issue: The argument 'state' must not be null or empty

I am transferring functions from my OH1 to OH2 and am having an issue with my first rule. I have two items that are MQTT based that show the status of two different switches connected to my garage. Those items are working and update correctly through OH2. However, i have a rule setup that determines the state of another item garageState based upon the status of the two other garage switches.

Here is the rule file in it’s entirety:

rule "Determine Status of Garage Door"
        Item garageStateOpen changed or
        Item garageStateClosed changed
        if (garageStateOpen.state == ON){
        else if (garageStateClosed.state == ON){
        else {
                postUpdate (garageState,"Ajar")


And here is the log i get:

2016-04-17 08:43:05.214 [ERROR] [.script.engine.ScriptExecutionThread] - Error during the execution of rule 'Determine Status of Garage Door': The argument 'state' must not be null or empty.

I attempted to set the garageState item to an OFF state, which worked, but did not change the results.


Well, as usual, asking the question seems to help me find my own answer. I attempted to set the state to Open and/or Closed via the rest interface and received the invalid state response. That led me to realize i had setup the garageState item as a switch and not a String. Changed to string and all is well.