History log of /src/usr.sbin/envstat/envstat.8
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
# 1.72 01-Apr-2025 uwe

envstat(8): use \(aq for literal ASCII single quote in examples

Literal ASCII single quote in the input becomes right single quote in
the PostScript output. While that is the look from the old dead tree
manuals that we know and love, it does the wrong thing when
copy-pasted from a PDF document, so make sure the examples come out
right with the literal ASCII single quotes in them.


# 1.71 01-Apr-2025 uwe

envstat(8): tweak examples

Drop shell prompt, we don't show any sample output, so we don't need
to mark the command as input. Explicitly split longer commands with a
backslash continuation.


# 1.70 01-Apr-2025 uwe

envstat(8): use .Bl -column for units


# 1.69 01-Apr-2025 uwe

envstat(8): brush up markup


# 1.68 01-Apr-2025 brad

New features for envstat(8).

o The usual output of envstat(8) is meant for human consumption and it
is harder than it needs to be to extract the data and process it with
or for other systems or programs. There is a '-x' flag to output the
raw XML from the envsys(4) framework, but that doesn't run the data
though the conversions that envstat(8) does in the human output case.
So, provide a '-j' flag that outputs in JSON. Each execution of
envstat(8) will produce consistent JSON that can be piped directly
into the 'jq' command, for example. When used with the interval flag,
'-i', each interval will be consistent JSON with a separator string to
make it easier to split the input.

(as an aside, there is a '-n' option too, that just extracts the
current value from each sensor, but that is a little too terse for the
cases where a device provides multiple sensors or if you ask for
multiple devices, as you lose the ability to know what each value is
associated with)

o Provide a '-t' flag that will time stamp the output with the time
that the extraction was executed. This is only provided for the human
output, or JSON output. In the human output case, the first line is a
human readable date and time. In the JSON case, an object is included
in the output that contains the human readable date and time, and
another object that contains the Unix epoch version of the same. This
makes it possible to extract the data and have the data tell you when
it was executed.


I have been using this for a little while and it seems to work quite
well when one needs to pull a lot of sensors from the envsys(4)
framework at one time. It has ended up being much faster and less
error prone in a lot of cases then parsing the human output of
envstat(8) with regexs.


Revision tags: netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
# 1.67 21-Nov-2022 brad

branches: 1.67.4;


A driver for the Bosch BMP280 / BME280 temperature, humidity and
atmospheric pressure sensor. This is an inexpensive to moderately
expensive chip available from a large number of places. The driver
supports all aspects of the two chips, except for the repeating read
mode which would allow for sub-second queries, such as fall detection
or perhaps even as an altimeter. This driver also only supports the
I2C interface and not the SPI interface.

The BME280, the one with humidity, is not fully tested at this point,
awaiting upon a breakout board and may not show proper humidity.


Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base
# 1.66 14-Nov-2020 wiz

New sentence, new line.
Other whitespace fixes, and some Xr fixes.


# 1.65 14-Nov-2020 mlelstv

Add option -n to print only the value of a sensor.
If statistics are selected with -T, then also display max, min and average.
The empty line between each display is skipped when one or more sensors are
selected with -s.


# 1.64 14-Nov-2020 mlelstv

Allow to select raw output for a single device or a list of sensors.


# 1.63 14-Nov-2020 mlelstv

For raw output (-x) allow to extract individual properties like drvctl -p.
E.g.

# envstat -x /vcmbox0/0/cur-value
328150000


Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 netbsd-7-2-RELEASE pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 netbsd-7-1-2-RELEASE pgoyette-compat-base netbsd-7-1-1-RELEASE matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 bouyer-socketcan-base pgoyette-localcount-20170107 netbsd-7-1-RC1 pgoyette-localcount-20161104 netbsd-7-0-2-RELEASE localcount-20160914 netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-earlyentropy-base tls-maxphys-base
# 1.62 18-May-2014 kardel

add HYT-221/271/939 humidity/temperature I2C sensor
extend envsys(4) framework by %rH (relative humidity)


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-1-5-RELEASE yamt-pagecache-base9 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 yamt-pagecache-base5 yamt-pagecache-base4 netbsd-6-base
# 1.61 09-Feb-2012 riz

branches: 1.61.6; 1.61.16;
Various English usage, spelling and markup fixes for envstat(4)-related
things, from Snader_LB.


Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.60 07-Jun-2011 wiz

branches: 1.60.2;
Sort sections.


# 1.59 07-Jun-2011 pgoyette

Add a BUGS section to point out that the statistic "average" is an
average only of the current, minimum, and maximum values, and not a
running average of all displayed current values.


Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.58 05-Oct-2010 njoly

branches: 1.58.4;
Add option k to synopsis.


# 1.57 09-Jul-2010 reed

Add brief explanations of unit abbreviations.
Add units(1) to see also.


# 1.56 19-Mar-2010 cnst

Remove aiboost(4) as obsolete and redundant since the introduction of aibs(4).

http://mail-index.netbsd.org/tech-kern/2010/03/06/msg007458.html

Reviewed by <pgoyette>, <cegger>, <jruoho>, <tech-kern>.


# 1.55 15-Feb-2010 pgoyette

Update cross-reference to refer to new aibs(4) instead of aiboost(4)


# 1.54 09-Feb-2010 cnst

New aibs(4) driver for ASUSTeK AI Booster (ACPI ATK0110) hardware monitor
with limit support.

http://thread.gmane.org/gmane.os.netbsd.devel.kernel/35654

Reviewed by <pgoyette>, <jruoho> and <tech-kern>.


# 1.53 30-Jan-2010 wiz

New sentence, new line.


# 1.52 30-Jan-2010 pgoyette

Since we never have both a limit value and a limit %capacity value,
remove the Capacity column.

Reduce inter-column spacing, and display all four limits on one page,
rather than using the -W command line option to switch between critical
and warning limits. (The -W option is still permitted, but has no
effect.)

%capacity limits are displayed in the WarnMin and CritMin columns, but
have a trailing % sign.


Revision tags: matt-premerge-20091211 jym-xensuspend-nbase jym-xensuspend-base
# 1.51 04-May-2009 wiz

Add missing apostrophe.


# 1.50 15-Feb-2009 wiz

New sentence, new line. Bump date for previous.


# 1.49 14-Feb-2009 ahoka

Add support for showing temperatures in Kelvin.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 netbsd-5-base
# 1.48 29-Oct-2008 jkunz

branches: 1.48.4;
Ported alipm(4) and admtemp(4) from OpenBSD.


Revision tags: matt-mips64-base2
# 1.47 11-Oct-2008 pgoyette

Update cross-references for addition of dbcool(4) and removal of adt7463c(4)
and adt7467c(4).


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2
# 1.46 22-Aug-2008 pgoyette

1. provide for warning-min and warning-max alarm levels in addition to
critical-min and critical-max; also, a battery warning-capacity is
added in addition to a critical-capacity.

2. usr.sbin/envstat is modified to introduce a -W command line switch to
display the warning-* values instead of the critical-* values, and
envstat(8) and envsys.conf(5) man pages are updated appropriately.

3. Treat user-defined limits as a single continuum and generate a single
event regardless of how many boundaries a change in sensor value
crosses; ditto for driver-defined limits.

Fixes my PR/39021
Fixes my PR/39022

OK'd by christos@ bouyer@ cube@


Revision tags: wrstuden-revivesa-base-1 yamt-pf42-base4 yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 wrstuden-revivesa-base
# 1.45 30-Apr-2008 martin

branches: 1.45.2;
Convert TNF licenses to new 2 clause variant


# 1.44 26-Apr-2008 xtraeme

* Improve default display output by adding a header that will match
current value as well as critical limits set and sensor unit.

* Add a new flag: -T. When it's enabled statistics will be created for
the sensors. Max, min and average statistics as well as sensor unit
will be displayed. Must be used with an interval.

You can see the new code in action here:

http://www.netbsd.org/~xtraeme/envstat_stats.txt

Thanks to jmcneill@ for comments and ideas.


# 1.43 22-Apr-2008 cegger

amdtemp(4): Driver for AMD CPU Temperature Sensors. Adopted from OpenBSD's kate(4).
Changes beyond OpenBSD's driver:
- Improved support for AMD K8
- Added support for AMD Barcelona, AMD Phenom and AMD Griffin
Tested on various single and multi-socket machines.
Review and OK xtreame


Revision tags: yamt-pf42-baseX yamt-pf42-base
# 1.42 17-Apr-2008 xtraeme

branches: 1.42.2;
* Add support to show output from specified sensors in multiple devices
via the -s flag (the requirement for -d is not there anymore). [1]

You can do something like the following now:

$ envstat -s "acpibat0:charge,acpibat0:charge state,acpitz0:temperature"
[acpibat0]
charge: 3.015 Ah (79.70%)
charge state: NORMAL
[acpitz0]
temperature: 54.000 degC
$

* As bonus, the code has been modified to use a simple queue for
the sensors, and this has simplified and improved some parts of the
code as well.

[1] Item requested by joerg@ yesterday.


# 1.41 03-Apr-2008 xtraeme

Mention finsio(4).


# 1.40 02-Apr-2008 xtraeme

Mention pic16lc(4).


# 1.39 02-Apr-2008 xtraeme

Mention cac(4).


# 1.38 02-Apr-2008 xtraeme

Mention adt7463c(4) and thinkpad(4) even if the manpages don't exist.

This is to have a reference about which drivers are using the envsys
framework.


Revision tags: keiichi-mipv6-nbase keiichi-mipv6-base matt-armv6-nbase
# 1.37 29-Feb-2008 xtraeme

Xref arcmsr(4).


Revision tags: matt-armv6-base hpcarm-cleanup-base
# 1.36 12-Dec-2007 xtraeme

branches: 1.36.2;
Xref battery_pmu(4).


Revision tags: cube-autoconf-base
# 1.35 01-Dec-2007 wiz

Sort SEE ALSO.


# 1.34 16-Nov-2007 xtraeme

Implement the 'refresh-timeout' property in device blocks for the
configuration files. This sets the timeout value that will be used
to check for critical limits.

The value can be viewed by the 'envstat -D' command.


# 1.33 29-Oct-2007 xtraeme

Mention coretemp(4).


# 1.32 07-Oct-2007 xtraeme

Another comment that is no more thanks to the new configuration file.


# 1.31 07-Oct-2007 xtraeme

Modify a comment that is not valid anymore.


# 1.30 07-Oct-2007 xtraeme

Xref envsys.conf(5)


# 1.29 07-Oct-2007 xtraeme

New configuration file format for the envsys framework:

foo0 {
#
# CPU Temperature
#
sensor0 {
critical-max = 70C;
critical-min = 20C;
}
...
}
...

Removed the -m flag that was previously used to set properties for
sensors. Now the -c flag will process all properties specified in
the file (accepted as argument).

To remove all properties that were set, the new -S flag can be used.
This will restore default values for all devices.


# 1.28 25-Sep-2007 xtraeme

Merge a patch from Iain Hibbert (plunky@):

- some unclear language cleaned up
- inconsistent usage of 'device' and 'driver' to refer to the same thing
- difficult error handling

And print the device name if -d flag is not specified for any driver
registered, e.g:

$ envstat
[aiboost0]
CPU Temperature: 36.000 degC max: 70.000 degC min: 15.000 degC
MB Temperature: 38.000 degC max: 50.000 degC min: 15.000 degC
Vcore Voltage: 1.232 V max: 1.350 V min: 1.150 V
+3.3 Voltage: 3.264 V max: 3.500 V min: 3.000 V
+5 Voltage: 5.017 V max: 5.600 V min: 4.500 V
+12 Voltage: 11.932 V max: 13.500 V min: 11.200 V
CPU FAN Speed: 1268 RPM
$


# 1.27 20-Sep-2007 plunky

replace inadvertently removed N


# 1.26 20-Sep-2007 plunky

sort options


# 1.25 11-Sep-2007 xtraeme

Mention aps(4).


# 1.24 02-Sep-2007 xtraeme

Fix typo in previous.


# 1.23 02-Sep-2007 xtraeme

Add the -I flag that skips sensors with invalid state. They are shown
by default, but this is for users that don't want to print them.


# 1.22 07-Aug-2007 seb

branches: 1.22.2;
Fix typo.
Ok'ed by xtraeme@


Revision tags: matt-mips64-base
# 1.21 17-Jul-2007 xtraeme

Add the -r flag, which is a dummy flag... only added for compatibility
reasons.


# 1.20 05-Jul-2007 xtraeme

tyop


# 1.19 04-Jul-2007 xtraeme

Fix the example that used -s without -d, found by hira@.


# 1.18 04-Jul-2007 xtraeme

Improve description about the -s flag, it must be used with -d.


# 1.17 02-Jul-2007 xtraeme

Two grammar fixes from Zafer Aydogan.


# 1.16 01-Jul-2007 xtraeme

Imported envsys 2, a brief description of the new features:
(Part 3: userland)

* Support for detachable sensors.
* Cleaned up the API for simplicity and efficiency.
* Ability to send capacity/critical/warning events to powerd(8).
* Adapted all the code to the new locking order.
* Compatibility with the old envsys API: the ENVSYS_GTREINFO
and ENVSYS_GTREDATA ioctl(2)s are supported.
* Added support for a 'dictionary based communication channel' between
sysmon_power(9) and powerd(8), that means there is no 32 bytes event
size restriction anymore.
* Binary compatibility with old envstat(8) and powerd(8) via COMPAT_40.
* All drivers with the n^2 gtredata bug were fixed, PR kern/36226.

Tested by:

blymn: smsc(4).
bouyer: ipmi(4), mfi(4).
kefren: ug(4).
njoly: viaenv(4), adt7463.c.
riz: owtemp(4).
xtraeme: acpiacad(4), acpibat(4), acpitz(4), aiboost(4), it(4), lm(4).


# 1.15 07-May-2007 xtraeme

Mention mfi(4), bump date.


# 1.14 19-Apr-2007 xtraeme

* tctrl(4) -> sparc/tctrl(4)
* Mention sparc64/envctrl(4) (hi tnn)


# 1.13 14-Mar-2007 xtraeme

Erm add missing char.


# 1.12 14-Mar-2007 xtraeme

Last one: mention adt7467c(4).


# 1.11 14-Mar-2007 xtraeme

Mention ipmi(4), nsclpcsio(4), owtemp(4), tctrl(4) and tm121temp(4).


# 1.10 14-Mar-2007 xtraeme

Mention aiboost(4), it(4), ug(4) and viaenv(4), bump date.


# 1.9 23-Dec-2006 wiz

Bump date for previous. Remove trailing whitespace.


# 1.8 14-Dec-2006 reed

Add a useful example.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE wrstuden-fixsa-base abandoned-netbsd-4-base netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-4-base netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 netbsd-3-0-RC2 netbsd-3-0-RC1 netbsd-3-base
# 1.7 25-Apr-2004 kochi

add references to ACPI man pages.


Revision tags: netbsd-2-0-base fvdl_fs64_base
# 1.6 02-Jan-2003 augustss

branches: 1.6.2;
Add -r to synopsis.


# 1.5 02-Jan-2003 wiz

New sentence, new line. Bump date for -r description.


# 1.4 02-Jan-2003 augustss

Document the -r flag.


Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base
# 1.3 19-Jan-2002 wiz

Drop a trailing empty line.


# 1.2 24-Jun-2000 thorpej

If the `device' argument is not specified, attempt to open /dev/sysmon.


Revision tags: netbsd-1-5-base minoura-xpg4dl-base
# 1.1 10-Mar-2000 groo

branches: 1.1.4;
Add envstat(8) for displaying sensor readings from any envsys(4)
compatible device.