// Methods
.heartbeat = sensors_energy_heartbeat,
};
+
+/*
+ Current
+*/
+static int sensors_current_heartbeat(td_ctx* ctx, td_source* source) {
+ sensors_value values[] = {
+ { "input", SENSORS_SUBFEATURE_CURR_INPUT },
+ { "min", SENSORS_SUBFEATURE_CURR_MIN },
+ { "max", SENSORS_SUBFEATURE_CURR_MAX },
+ { "lcrit", SENSORS_SUBFEATURE_CURR_LCRIT },
+ { "crit", SENSORS_SUBFEATURE_CURR_CRIT },
+ { "average", SENSORS_SUBFEATURE_CURR_AVERAGE },
+ { "highest", SENSORS_SUBFEATURE_CURR_HIGHEST },
+ { "lowest", SENSORS_SUBFEATURE_CURR_LOWEST },
+ { "alarm", SENSORS_SUBFEATURE_CURR_ALARM },
+ { "alarm_max", SENSORS_SUBFEATURE_CURR_MAX_ALARM },
+ { "alarm_min", SENSORS_SUBFEATURE_CURR_MIN_ALARM },
+ { "alarm_crit", SENSORS_SUBFEATURE_CURR_CRIT_ALARM },
+ { "alarm_lcrit", SENSORS_SUBFEATURE_CURR_LCRIT_ALARM },
+ { "beep", SENSORS_SUBFEATURE_CURR_BEEP },
+ { NULL },
+ };
+
+ return read_sensors(ctx, source, SENSORS_FEATURE_CURR, values);
+}
+
+const td_source_impl sensors_current_source = {
+ .name = "sensors-current",
+
+ // RRD Data Sources
+ .rrd_dss = {
+ { "input", "GAUGE", 0, -1, },
+ { "min", "GAUGE", 0, -1, },
+ { "max", "GAUGE", 0, -1, },
+ { "lcrit", "GAUGE", 0, -1, },
+ { "crit", "GAUGE", 0, -1, },
+ { "average", "GAUGE", 0, -1, },
+ { "highest", "GAUGE", 0, -1, },
+ { "lowest", "GAUGE", 0, -1, },
+ { "alarm", "GAUGE", 0, -1, },
+ { "alarm_max", "GAUGE", 0, -1, },
+ { "alarm_min", "GAUGE", 0, -1, },
+ { "alarm_cap", "GAUGE", 0, -1, },
+ { "alarm_crit", "GAUGE", 0, -1, },
+ { "alarm_lcrit", "GAUGE", 0, -1, },
+ { "beep", "GAUGE", 0, -1, },
+ { NULL },
+ },
+
+ // Methods
+ .heartbeat = sensors_current_heartbeat,
+};