Skip to main content
Skip table of contents



Returns the status of a device in the system or all the devices in the following format. The following parameters are supported in order to filter the response:

user=used to check if a device is controllable by the given user
pass=used with "user"

location1=loc1  (only return the devices that are in the specific location1, omit or set to "all" for all devices at this location)
location2=loc2  (only return the devices that are in the specific location2, omit or set to "all" for all devices at this location)
ref=##  (only return the device that matches the specific reference #, this may be a list of reference #'s like 3467,2342,869, omit or set to "all" to return all devices)

compress=true (omit values that are not set, greatly reduces the amount of data returned)

compress=false (default setting, the FULL JSON is returned, even empty values)

everything=true (returns status as well as control information for the requested devices)

NOTE: everything supports the following queries only:

ref=list of comma seperated device refs




excludeevents=true to exclude all the events in the output

everything=false (default setting, returns only status information)

voiceonly=true (only returns devices marked as voice commands)

voiceonly=false (default setting, returns all requested devices, ignores voice setting)

All GET requests are terminated with a CRLF.

If no JSON data is expected from the request, the return may be either "ok", or "error".

This response is for 2 devices, the first is a thermostat temperature, the second is a light switch:

	"Name": "HomeSeer Devices",
	"Version": "1.0",
	"Devices": [
			"ref": 3398,
			"name": "Temperature",
			"location": "Z-Wave",
			"location2": "Node 122",
			"value": 82,
			"status": "82 F",
			"device_type_string": "Z-Wave Temperature",
			"last_change": "/Date(1410193983884)/",
			"relationship": 4,
			"hide_from_view": false,
			"associated_devices": [
			"device_type": {
				"Device_API": 16,
				"Device_API_Description": "Thermostat API",
				"Device_Type": 2,
				"Device_Type_Description": "Thermostat Temperature",
				"Device_SubType": 1,
				"Device_SubType_Description": "Temperature"
			"device_image": ""
			"ref": 3570,
			"name": "Switch Binary",
			"location": "Z-Wave",
			"location2": "Node 124",
			"value": 255,
			"status": "On",
			"device_type_string": "Z-Wave Switch Binary",
			"last_change": "/Date(1410196540597)/",
			"relationship": 4,
			"hide_from_view": false,
			"associated_devices": [
			"device_type": {
				"Device_API": 4,
				"Device_API_Description": "Plug-In API",
				"Device_Type": 0,
				"Device_Type_Description": "Plug-In Type 0",
				"Device_SubType": 37,
				"Device_SubType_Description": ""
			"device_image": ""

Response fields:

ref = unique device reference number, used for any subsequent requests such as device control, leave blank or set to "ALL" to get the status for all devices

name = the name of the device

location = the location of the device such as "kitchen"

location2 = the second location of the device such as "first floor"

value = the current value of the device, a double

status = the current string that represents the status of the device such as "on" or "off"

last_change = the date/time the device last changed status

relationship = 2:root device (other devices may be part of this physical device),3:standalone=this is the only device that represents this physical device,4:child=this device is part of a group of devices that represent this physical device

hide_from_view = true/false if true, this device has been set to not be visible in any user interface

device_type_string = The string the describes this device, set by plugin authors on their devices.

associated_devices = a list of device reference #'s that are associated with this device. If the device is a ROOT device, then the list is child devices, if the device is a child device, then the list will contain one device that is the root device.

device_type = Detailed information about the capabilities of the device, used mainly to determine if the device adheres to other API's such as thermostat, energy, etc. See the Devices section in the Scripting section in the HomeSeer HS3 user documentation for information about the properties in this section.

voice_command = The voice command assigned to this device.

misc = Bit mask of features enable on the device. This is an unisgned integer field with the following bits:

Enum dvMISC As UInteger
NO_LOG = 8 ' no logging to event log for this device
STATUS_ONLY = &H10 ' device cannot be controlled
HIDDEN = &H20 ' device is hidden from views
INCLUDE_POWERFAIL = &H80 ' if set, device's state is restored if power fail enabled
SHOW_VALUES = &H100 ' set=display value options in win gui and web status
AUTO_VOICE_COMMAND = &H200 ' set=create a voice command for this device
VOICE_COMMAND_CONFIRM = &H400 ' set=confirm voice command
MYHS_DEVICE_CHANGE_NOTIFY = &H800 ' if set, a change of this device will be sent to MYHS through the tunnel
SET_DOES_NOT_CHANGE_LAST_CHANGE = &H1000 ' if set, any set to a device value will not reset last change, this is not set by default for backward compatibility
NO_STATUS_TRIGGER = &H20000 ' If set, device will not appear in the device status change trigger or conditions lists.
NO_GRAPHICS_DISPLAY = &H40000 ' this device will not display any graphics for its status, graphics pairs are ignored
NO_STATUS_DISPLAY = &H80000 ' if set, no status text will be displayed for a device, will still display any graphic from graphic pairs
CONTROL_POPUP = &H100000 ' The controls for this device should appear in a popup window on the device utility page.
End Enum

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.