"""
GroundValueChecker represents a device that retrieves ground values
from public APIs (e.g. BORIS NRW) using Zabbix HTTP agent items.
"""
type GroundValueChecker implements Host & Device {
    """Internal Zabbix ID of the device."""
    hostid: ID!
    """
    Per convention a uuid is used as hostname to identify devices if they do not have a unique hostname.
    """
    host: String!
    """Classification of the device."""
    deviceType: String
    """List of host groups this device belongs to."""
    hostgroups: [HostGroup!]
    """Visible name of the device."""
    name: String
    """Device configuration tags."""
    tags: DeviceConfig
    """Host inventory data."""
    inventory: Inventory
    """List of monitored items for this host."""
    items: [ZabbixItem!]
    """State of the ground value checker device."""
    state: GroundValueState
}

"""
Represents the state of a ground value checker device.
"""
type GroundValueState implements DeviceState {
    """Operational data (telemetry)."""
    operational: OperationalDeviceData
    """Current business values (ground data)."""
    current: GroundValues
}

"""
Aggregated ground information retrieved from the API.
"""
type GroundValues {
    """
    Average ground value (in €/m²). Extracted from the BORIS NRW GeoJSON response.
    """
    averageValue: Float
}
