Expire Syntax for a TCP Item with transform

Question…

Is it possible to include the expire command in a SWITCH item that utilizes TCP and Transform?

I’ve tried adding it to the following SWITCH in a couple of different ways with no success.

Anyone have an idea for the syntax?

Switch Hallway1 "Hallway Lights" [ "Switchable" ]{ tcp=">[ON:10.x.x.x:3040:'MAP(90.map)'],>[OFF:10.x.x.x:3040:'MAP(90.map)']"}

You just need a comma after all your TCP config, and follow the expire v1 docs. Show us your best guess?
You do need to have installed the expire binding.in OH2

Tried that…did not work. Light never turned off that’s why I thought there may be an issue with the syntax.

Perhaps there is. Show us your best guess.

Switch Hallway1 "Hallway Lights" [ "Switchable" ]{ tcp=">[ON:10.x.x.x:3040:'MAP(90.map)'],>[OFF:10.x.x.x:3040:'MAP(90.map)']",expire="30m,command=OFF" }

That looks fine.
If nothing ever commands or updates your Item after system startup, the timer never begins.
If something updates or commands your Item, even to to the same existing value, the timer restarts.
You do need to have installed the expire binding.
I am assuming you are using OH2 because you use TCP binding v1.

Ok, the command works fine when the ITEM is triggered on by OH, what can I do so that the expire catches on to a physical button press from the lighting system?

You need whatever binding is involved to receive a message from the remote system, that can be used to update your OH Item. It’s not pyschic, it needs telling. You may need to begin that setup by finding out if/how to configure your remote system to send a message when a button is pressed, or better yet, when the light changes state.