Netdata configuration change: Allows multiple elements per group (#16656)

Allows multiple Netdata elements per group
This commit is contained in:
Fabien Piuzzi 2018-09-19 00:42:09 +02:00 committed by Fabian Affolter
parent 56b0d2e99f
commit b7ef4dddb4

View file

@ -24,6 +24,7 @@ _LOGGER = logging.getLogger(__name__)
MIN_TIME_BETWEEN_UPDATES = timedelta(minutes=1)
CONF_DATA_GROUP = 'data_group'
CONF_ELEMENT = 'element'
DEFAULT_HOST = 'localhost'
@ -33,9 +34,9 @@ DEFAULT_PORT = 19999
DEFAULT_ICON = 'mdi:desktop-classic'
RESOURCE_SCHEMA = vol.Any({
vol.Required(CONF_DATA_GROUP): cv.string,
vol.Required(CONF_ELEMENT): cv.string,
vol.Optional(CONF_ICON, default=DEFAULT_ICON): cv.icon,
vol.Optional(CONF_NAME): cv.string,
})
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
@ -65,16 +66,14 @@ async def async_setup_platform(
dev = []
for entry, data in resources.items():
sensor = entry
icon = data[CONF_ICON]
sensor = data[CONF_DATA_GROUP]
element = data[CONF_ELEMENT]
sensor_name = icon = None
sensor_name = entry
try:
resource_data = netdata.api.metrics[sensor]
unit = '%' if resource_data['units'] == 'percentage' else \
resource_data['units']
if data is not None:
sensor_name = data.get(CONF_NAME)
icon = data.get(CONF_ICON)
except KeyError:
_LOGGER.error("Sensor is not available: %s", sensor)
continue