FOUND_DEVICE

When a SpringCard device is found “in the nearby” by the Begin Lookup / End Lookup method, a JSON FOUND_DEVICE object is created and populated that contains the (few) technical data publicly exposed by the device.

This object is consistent with the DEVICE object, yet a lot of data are still missing at this step because the service may not have a full access to the device itself yet.

Object definition

Field name Type Status Description Condition
DeviceId string always The DeviceId of the newly found device. Use this as {$id} in all /device/{$id} requests
IsNew boolean option Was the found device not already in the list of present devices?
Bound boolean option Is the found device already in the list of non-PNP bound devices?
Name string always Name of the device, collected from the device’s meta-data
Channel string always Communication channel: ble or network
PnpId string option Technical identifier of the device, in the form ssvvvvpppprrrr where
-ss is the VendorID source (02for USB Workgroup),
-vvvvis the VendorID in hex (1C34 for SpringCard),
-pppp is the ProductID in hex,
-rrrr the Release (for instance, 0210 for version “2.10”)
Mode string always Operating mode of the device: coupler, reader, idle or unknown
SerialNumber string option Serial number of the device Not empty
Version string option Version of the device (ex: “2.10”)
Firmware string option Identification of the firmware
Hardware string option Identification of the hardware (part number) Not empty
Characteristics option option Technical characteristics of the hardware (see Hardware Characteristics) Not empty
UniqueId string option Unique Identifier of the device (signature of the hardware)
ConfigId string option The GUID of the configuration (signature of the settings) (register 0200) Register set in NVM
Inventory string option Inventory number (register 0201) Register set in NVM
Location string option Location (register 0202) Register set in NVM
PhysAddress string option Physical address of the device, as an hex-string, if this information is available and makes sense.
For a BLE device, this is the BT_ADDR, for a network device, the MAC address.
Dhcp boolean option true if the device is configured as DHCP client, false if its network configuration is static Network device
IpAddress string option Current IP address of the device Network device
IpMask string option Current network mask of the device Network device
IpGateway string option Current default gateway of the device Network device
TcpServerPort integer option Main TCP server of the device Network device and TCP server profile

Warning

The DeviceId field is likely to be a temporary value. The very same device is likely to get a totally different DeviceId the next time it is found by the computer, and a different device may be assigned the same DeviceId as a previously connected one in a future iteration.

If you want to identify a particular device, use the SerialNumber or PhysAddress fields.

Example

{
	"DeviceId": "4rIUNPyNqg9ltFALpWUKQ1",
	"IsNew": false,	
	"Bound": false,	
	"Name": "SpringCard SpringPark",
	"SerialNumber": "74905007901",
	"Channel": "network",
	"PhysAddress": "74905007901",        
	"Mode": "pcsc",
	"Location": "JDA's Office",        
	"Dhcp": true,
	"IpAddress": "192.168.16.225",
	"IpMask": "255.255.255.0",           
	"IpGateway": "192.168.16.20",
	"TcpServerPort": 3999
}