Ummm, embarrasing as I realized current is spelt with 2 R's not 1 . . . So all good. I've used that function many time, actually forgot it wasn't inbuilt I wrote it for some reason, at the time I think it was because I didn't think the "GetCBusByKW" worked on UserParams. Code: function SetObjectByTag(tagname, value) if (GetObjectByTag(tagname).data[1].value ~= value) then -- Save Object By Tagname obj = grp.tag(tagname) if (table.maxn(obj) == 0) then log(string.format('Could not set tagname: %s to value: %s', tagname, value)) end obj:write(value) return 0 else return 0 end end