Likewise, you can send a status update using the HTTP verb PUT to the same uri, passing the new state as a plain string argument in the body (encoding text/plain).
In order to send a command to an item, you would use the item uri (http://localhost:8080/rest/items/Temperature_FF_Office) and send an HTTP POST with the according command in the request body as text/plain.Contact FamilyMotionZoneTripped "Family Motion (Zone 28) [MAP(en.map):%s]" (GContact,GMotion,GPersist)
and I want to use an external entity as the source of truth for the Contact Item's value, then what is the best way to have that entity [remotely] push that value in?
For example, I have a Linux Shell script, or a Spark Core, and it can make the necessary lightweight wget/curl and/or TCPClient call into openHAB to push the value change.
I understand that it doesn't make sense for a UI User to access this, but some mechanism is needed for [external] entities to push changes into the Item... otherwise it never gets a value (except by Rule).
So perhaps the question morphs into what that mechanism is, if not the CmdServlet?
wget --method=PUT \
--verbose \
--body-data="OPEN" \
--header="Content-Type: text/plain" \
http://localhost:8080/rest/items/FamilyMotionZoneTripped/state