Skip to main content
Version: 2.6

HostControl Data Access

This chapter outlines all possible native addresses of data access points. These addresses must be configured within the device configuration.

Base Address

A native Host Control address has following format:

{Address base}.{specific address part}
Address baseDescription
HumanOSInformation about the HumanOS Installation
Win32Information about the Windows operating system
EnvironmentInformation about the System environment
NetworkInformation about the network adapter and Ip Addresses
DriveInformation about the drives in windows
RegistryInformation about the registry in windows

HumanOS Installation

The HumanOS base address contains data points of the HumanOS installation.

AddressDescriptionData Type
HumanOS.VersionSoftware version of the HumanOS InstallationSystem.String
HumanOS.SystemTypeSystem type of the running HumanOS process. Either "32-bit" or "64-bit"System.String

Win32 Data objects

The Win32 base address contains data points of the windows32 com objects. For further information look at Microsoft documentation

AddressDescriptionData Type
Win32.OperatingSystemRepresents a Windows-based operating system installed on a computer.System.String
Win32.BaseBoardRepresents a baseboard, which is also known as a motherboard or system board.System.String
Win32.ComputerSystemProductRepresents a product which includes software and hardware used on this computer system.System.String
Win32.ComputerSystemRepresents the computer system hardware and softwareSystem.String
Win32.CpuRepresents information about the CPUSystem.String
Win32.QuickFixEngineeringtRepresents information about installed hot fixesSystem.String

Operating System

These values are updated every 500ms.

A native Operating System address has following format:

Win32.OperatingSystem.{OperatingSystem address}

Following Operating System addresses are available:

OperatingSystem addressData Type
BootDeviceSystem.String
BuildNumberSystem.String
BuildTypeSystem.String
CaptionSystem.String
CodeSetSystem.String
CountryCodeSystem.String
CreationClassNameSystem.String
CSCreationClassNameSystem.String
CSDVersionSystem.String
CSNameSystem.String
CurrentTimeZoneSystem.Int16
DataExecutionPrevention_AvailableSystem.Boolean
DataExecutionPrevention_32BitApplicationsSystem.Boolean
DataExecutionPrevention_DriversSystem.Boolean
DataExecutionPrevention_SupportPolicySystem.Byte
DebugSystem.Boolean
DescriptionSystem.String
DistributedSystem.Boolean
EncryptionLevelSystem.UInt32
ForegroundApplicationBoostSystem.Byte
FreePhysicalMemorySystem.UInt64
FreeSpaceInPagingFilesSystem.UInt64
FreeVirtualMemorySystem.UInt64
InstallDateSystem.String
LargeSystemCacheSystem.UInt32
LastBootUpTimeSystem.String
LocalDateTimeSystem.String
LocaleSystem.String
ManufacturerSystem.String
MaxNumberOfProcessesSystem.UInt32
MaxProcessMemorySizeSystem.UInt64
MUILanguagesSystem.String
NameSystem.String
NumberOfLicensedUsersSystem.UInt32
NumberOfProcessesSystem.UInt32
NumberOfUsersSystem.UInt32
OperatingSystemSKUSystem.UInt32
OrganizationSystem.String
OSArchitectureSystem.String
OSLanguageSystem.UInt32
OSProductSuiteSystem.UInt32
OSTypeSystem.UInt16
OtherTypeDescriptionSystem.String
PAEEnabledSystem.Boolean
PlusProductIDSystem.String
PlusVersionNumberSystem.String
PortableOperatingSystemSystem.Boolean
PrimarySystem.Boolean
ProductTypeSystem.UInt32
RegisteredUserSystem.String
SerialNumberSystem.String
ServicePackMajorVersionSystem.UInt16
ServicePackMinorVersionSystem.UInt16
SizeStoredInPagingFilesSystem.UInt64
StatusSystem.String
SuiteMaskSystem.UInt32
SystemDeviceSystem.String
SystemDirectorySystem.String
SystemDriveSystem.String
TotalSwapSpaceSizeSystem.UInt64
TotalVirtualMemorySizeSystem.UInt64
TotalVisibleMemorySizeSystem.UInt64
VersionSystem.String
WindowsDirectorySystem.String
QuantumLengthSystem.Byte
QuantumTypeSystem.Byte

Example:

{
"Id": "E5E9A472-F41E-4879-B8F3-55EACDFC400E",
"Name": "Hostname",
"DataType": "System.String",
"DataClass": "Event",
"Address": "Win32.OperatingSystem.CSName",
"Access": {
"Read": true,
"Receive": true
}
}

Base Board

A native Base Board address has following format:

Win32.BaseBoard.{BaseBoard address}

Following Base Board addresses are available:

BaseBoard addressData Type
CaptionSystem.String
ConfigOptionsSystem.String
CreationClassNameSystem.String
DepthSystem.Double
DescriptionSystem.String
HeightSystem.Double
HostingBoardSystem.Boolean
HotSwappableSystem.Boolean
InstallDateSystem.String
ManufacturerSystem.String
ModelSystem.String
NameSystem.String
OtherIdentifyingInfoSystem.String
PartNumberSystem.String
PoweredOnSystem.Boolean
ProductSystem.String
RemovableSystem.Boolean
ReplaceableSystem.Boolean
RequirementsDescriptionSystem.String
RequiresDaughterBoardSystem.Boolean
SerialNumberSystem.String
SKUSystem.String
SlotLayoutSystem.String
SpecialRequirementsSystem.Boolean
StatusSystem.String
TagSystem.String
VersionSystem.String
WeightSystem.Double
WidthSystem.Double

ComputerSystemProduct

A native address has following format:

Win32.ComputerSystemProduct.{address}

Following addresses are available:

addressData Type
CaptionSystem.String
DescriptionSystem.String
IdentifyingNumberSystem.String
NameSystem.String
SKUNumberSystem.String
VendorSystem.String
VersionSystem.String
UUIDSystem.String

Example:

{
"Id": "84C1B695-61D2-4693-8365-5FC0D2F25286",
"Name": "Computer_UUID",
"DataType": "System.String",
"DataClass": "Event",
"Address": "Win32.ComputerSystemProduct.UUID",
"Access": {
"Read": true,
"Receive": true
}
}

ComputerSystem

A native address has following format:

Win32.ComputerSystem.{address}

Following addresses are available:

addressData Type
AdminPasswordStatusSystem.UInt16
AutomaticManagedPagefileSystem.Boolean
AutomaticResetBootOptionSystem. Boolean
AutomaticResetCapabilitySystem. Boolean
BootOptionOnLimitSystem. UInt16
BootOptionOnWatchDogSystem. UInt16
DNSHostNameSystem.String
DomainSystem.String
TotalPhysicalMemorySystem.UInt64
....System...

A full List is available in the Microsoft Dev Document "Win32_ComputerSystem class".

Example:

{
"Id": "84C1B695-61D2-4693-8365-5FC0D2F25286",
"Name": "TotalPhysicalMemory",
"DataType": "System.UInt64",
"DataClass": "Event",
"Address": "Win32.ComputerSystem.TotalPhysicalMemory",
"Access": {
"Read": true,
"Receive": true
}
}

Cpu

These values are updated every 500ms.

A native address has following format:

Win32.Cpu.{address}

Following addresses are available:

addressData Type
ArchitectureSystem.UInt16
LoadPercentageSystem. UInt16
ProcessorTypeSystem. UInt16
NumberOfCoresSystem.UInt32
....System...

A full List is available in the Microsoft Dev Document "Win32_Processor class".

Example:

{
"Id": "84C1B695-61D2-4693-8365-5FC0D2F25286",
"Name": "LoadPercentage",
"DataType": "System.UInt16",
"DataClass": "Event",
"Address": "Win32.Cpu.LoadPercentage",
"Access": {
"Read": true,
"Receive": true
}
}

QuickFixEngineering

These values are updated every 5 minutes.

A native address has following format:

Win32.QuickFixEngineering.{address}

Following addresses are available:

addressData Type
CaptionSystem.String
CSNameSystem. String
HotFixIDSystem. String
InstalledOnSystem. String
....System...

A full List is available in the Microsoft Dev Document "Win32_QuickFixEngineering class".

Example:

{
"Id": "84C1B695-61D2-4693-8365-5FC0D2F25286",
"Name": "HotFixID",
"DataType": "System.String",
"DataClass": "Event",
"Address": "Win32.QuickFixEngineering.HotFixID",
"Access": {
"Read": true,
"Receive": true
}
}

Environment Variables

The environment base address contains data points of the system environment information.

AddressDescriptionData Type
Environment.SystemTypeSystem Type of WindowsOS (32-bit or 64 bit)System.String
Environment.WindowsVersionVersion String of WindowsSystem.String
Environment.HostNameHostname or machine nameSystem.String
Environment.DomainNameDomain name to which the user belongsSystem.String
Environment.UserNameName of current userSystem.String
Environment.UserInteractiveUser interactive flagSystem.String

Example:

{
"Id": "84C1B695-61D2-4693-8365-5FC0D2F25286",
"Name": "Computer name",
"DataType": "System.String",
"DataClass": "Event",
"Address": "Environment.HostName",
"Access": {
"Read": true,
"Receive": true
}
}

Network Configuration

The Network base address contains data points of the Network configuration.

A native address has following format:

Network.{address}*:{Adapter name}*
AddressDescriptionData Type
IDNetwork adapter IDSystem.String
DescriptionNetwork adapter descriptionSystem.String
MacAddressMAC Address of network adapterSystem.String
IPv4AddressAll IPv4 addresses associated the specified adapter, separated by “;”System.String
IPv4MaskAll IPv4 subnet masks associated to the IPv4AddressSystem.String
IPv6AddressAll IPv6 addresses associated the specified adapter, separated by “;”System.String
TypeNetwork interface typeSystem.String
StateNetwork interface state: (Dormant, Down, LowerLayerDown, NotPresent, Testing, Unknown, Up)System.String
SpeedSpeed of network interfaceSystem.Double
IsReceiveOnlyReceive only flagSystem.Boolean
SupportsMulticastSupports multicast flagSystem.Boolean
FirstActiveIPv4AddressFirst active IPv4 Address: (Requires no Adapter name)System.String

Adapter Name

The adapter name is the name of the network adapter. This information you find in the command prompt with the command ipconfig.

Example:

{
"Id": "84C1B695-61D2-4693-8365-5FC0D2F25286",
"Name": "Ethernet 5 MAC Address",
"DataType": "System.String",
"DataClass": "Event",
"Address": "Network.MacAddress:Ethernet 5",
"Access": {
"Read": true,
"Receive": true
}
}

FirstActiveIPv4Address

This value contains the first active IPv4 address of the host. The Address requires no adapter name.

Example:

{
"Id": "84C1B695-61D2-4693-8365-5FC0D2F25286",
"Name": "FirstActiveIPv4Address Ethernet 5",
"DataType": "System.String",
"DataClass": "Event",
"Address": "Network.FirstActiveIPv4Address:Ethernet 5",
"Access": {
"Read": true,
"Receive": true
}
}

Drive Monitor

These values are updated every 200ms.

The Drive base address contains data points of the rooted drives in windows.

A native address has following format: Important: Write drive letter in uppercase

Drive.{address}*:{DriveLetter}*
AddressDescriptionData Type
Drive.AvailableDrivesAvailable drive letters, separated by ‘;’ (Address Requires no drive letter)System.String
Drive.VolumeName:…Volume name of DriveSystem.String
Drive.Type:…Drive type like Network, Removable, Fixed..System.String
Drive.Format:…Format of drive (NTFS, FAT, FAT32…System.String
Drive.TotalSpace:…Total space of the driveSystem. Double
Drive.UsedSpace:…Used space of the driveSystem. Double
Drive.FreeSpace:…Free space of the driveSystem. Double
Drive.AvailableSpace:…Available space of the driveSystem.Double
Drive.Ratio:…Ratio in percent between total and used spaceSystem.Double

Example:

{
"Id": "84C1B695-61D2-4693-8365-5FC0D2F25286",
"Name": "Name of Drive C",
"DataType": "System.String",
"DataClass": "Event",
"Address": "Drive.VolumeName:C",
"Access": {
"Read": true,
"Receive": true
}
}

AvailableDrives

This value contains the available drives. The Address requires no drive letter.

Example:

{
"Id": "84C1B695-61D2-4693-8365-5FC0D2F25286",
"Name": "Available drives",
"DataType": "System.String",
"DataClass": "Event",
"Address": "Drive.AvailableDrives",
"Access": {
"Read": true,
"Receive": true
}
}

Registry Access

These values are updated every 5 minutes.

The registry access is based upon the windows hives. Remember that not all hives are accessible at any time (e.g Current User).

A native address has following format:

Registry.{Hive}*:{KeyAddress}*
AddressDescriptionData Type
Registry.HKLM:...Reads a key with its key subsets from local machine hive, multiple entries split by ";"System.String
Registry.HKCU:...Reads a key with its key subsets from current user hive, multiple entries split by ";"System.String
Registry.HKU:...Reads a key with its key subsets from users hive, multiple entries split by ";"System.String
Registry.HKCR:...Reads a key with its key subsets from classes root hive, multiple entries split by ";"System.String
Registry.HKCC:...Reads a key with its key subsets from current config hive, multiple entries split by ";"System. String

Example to read installed software:

{
"Id": "84C1B695-61D2-4693-8365-5FC0D2F25286",
"Name": "InstalledSoftware",
"DataType": "System.String",
"DataClass": "Event",
"Address": "Registry.HKLM:SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall",
"Access": {
"Read": true,
"Receive": true
}
}