triggeringItemName state

How does one get the state of the triggeringItemName?

rule "4 Send Wasmachine / Droger is finished notification"
when 
    Item Wasmachine_Status changed to 3 or
    Item Vaatwasser_Status changed to 3    
then
    val telegramAction = getActions("telegram","telegram:telegramBot:Telegram_Bot")
    var name = transform("MAP", "witgoed.map", triggeringItemName)
    var status = transform("MAP", "witgoed.map", triggeringItemName.state.toString)

    logInfo("Wasmachine / droger klaar", "De " + name + " is " + status + ".")

    var String message = "De " + name + " is " + status + "."
        logInfo("Wasmachine / droger klaar", message)
        telegramAction.sendTelegram("De %s is %s.", name, status)
        telegramAction.sendTelegram(message.toString)
end

.state.toString gives me:

Script execution of rule with UID 'witgoedv2-4' failed: 'state' is not a member of 'java.lang.String'; line 160, column 50, length 24 in witgoedv2

triggeringItemName is just a string, it doesn’t have a state.
You’d have to look up the real Item by that name, and get the state of that.

1 Like
    import org.openhab.core.model.script.ScriptServiceUtil

    var name = transform("MAP", "witgoed.map", triggeringItemName)
    val finishedItem = ScriptServiceUtil.getItemRegistry.getItem(triggeringItemName) as GenericItem
    var status = transform("MAP", "witgoed.map", finishedItem.state.toString)

This did the trick.