msl.equipment.resources.omega.ithx module
OMEGA iTHX Series Temperature and Humidity Chart Recorder.
This class is compatible with the following model numbers:
iTHX-W3
iTHX-D3
iTHX-SD
iTHX-M
iTHX-W
iTHX-2
- class msl.equipment.resources.omega.ithx.iTHX(record)[source]
Bases:
ConnectionSocket
OMEGA iTHX Series Temperature and Humidity Chart Recorder.
The
properties
for an iTHX connection supports the following key-value pairs in the Connections Database:'nprobes': int, the number of probes the device has 'nbytes': int, the number of bytes to read from each probe
as well as those key-value pairs supported by the parent
ConnectionSocket
class.Do not instantiate this class directly. Use the
connect()
method to connect to the equipment.- Parameters:
record (
EquipmentRecord
) – A record from an Equipment-Register Database.
- temperature(probe=1, celsius=True, nbytes=None)[source]
Read the temperature.
- Parameters:
probe (
int
, optional) – The probe number to read the temperature of (for iTHX’s that contain multiple probes).celsius (class:bool, optional) –
True
to return the temperature in celsius,False
for fahrenheit.nbytes (class:int, optional) – The number of bytes to read. If
None
then read until the termination character sequence.
- Returns:
- dewpoint(probe=1, celsius=True, nbytes=None)[source]
Read the dew point.
- Parameters:
probe (
int
, optional) – The probe number to read the dew point of (for iTHX’s that contain multiple probes).celsius (
bool
, optional) –True
to return the dew point in celsius,False
for fahrenheit.nbytes (class:int, optional) – The number of bytes to read. If
None
then read until the termination character sequence.
- Returns:
- temperature_humidity(probe=1, celsius=True, nbytes=None)[source]
Read the temperature and the humidity.
- Parameters:
probe (
int
, optional) – The probe number to read the temperature and humidity of (for iTHX’s that contain multiple probes).celsius (
bool
, optional) –True
to return the temperature in celsius,False
for fahrenheit.nbytes (class:int, optional) – The number of bytes to read. If
None
then read until the termination character sequence. If specified, nbytes is the combined value to read both values.
- Returns:
- temperature_humidity_dewpoint(probe=1, celsius=True, nbytes=None)[source]
Read the temperature, the humidity and the dew point.
- Parameters:
probe (
int
, optional) – The probe number to read the temperature, humidity and dew point (for iTHX’s that contain multiple probes).celsius (
bool
, optional) – IfTrue
then return the temperature and dew point in celsius,False
for fahrenheit.nbytes (
int
, optional) – The number of bytes to read. IfNone
then read until the termination character sequence. If specified, nbytes is the combined value to read all three values.
- Returns:
- reset(wait=True, password=None, port=2002, timeout=10)[source]
Power reset the iServer.
Some iServers accept the reset command to be sent via the TCP/UDP protocol and some require the reset command to be sent via the Telnet protocol.
- Parameters:
wait (
bool
, optional) – Whether to wait for the connection to the iServer to be re-established before returning to the calling program. Rebooting an iServer takes about 10 to 15 seconds.password (
str
, optional) – The administrator’s password of the iServer. If not specified then uses the default manufacturer’s password. Only used if the iServer needs to be reset via the Telnet protocol.port (
int
, optional) – The port to use for the Telnet connection. Only used if the iServer needs to be reset via the Telnet protocol.timeout (
float
, optional) – The timeout value to use during the Telnet session. Only used if the iServer needs to be reset via the Telnet protocol.
- start_logging(path, wait=60, nprobes=None, nbytes=None, celsius=True, msg_format=None, db_timeout=10, validator=None)[source]
Start logging the temperature, humidity and dew point to the specified path.
The information is logged to an SQLite database. To stop logging press
CTRL+C
.- Parameters:
path (
str
) – The path to the SQLite database. If you only specify a directory then a database with the default filename,model_serial.sqlite3
, is created/opened in this directory.wait (
int
, optional) – The number of seconds to wait between each log event.nprobes (
int
, optional) – The number of probes that the iServer has (1 or 2). If not specified then gets the value defined inproperties
. Default is 1.nbytes (
int
, optional) – The number of bytes to read from each probe (the probes are read sequentially). The value is passed totemperature_humidity_dewpoint()
. If not specified then gets the value defined inproperties
. Default isNone
.celsius (
bool
, optional) –True
to return the temperature and dew point in celsius,False
for fahrenheit.msg_format (
str
, optional) –The format to use for the INFO
logging
messages each time data is read from an iServer. The format must use thestr.format()
syntax,{}
. The positional arguments tostr.format()
are the values from the iServer, where the values are (temperature, humidity, dewpoint) for a 1-probe sensor and (temperature1, humidity1, dewpoint1, temperature2, humidity2, dewpoint2) for a 2-probe sensor. The keyword arguments tostr.format()
are the attributes of anEquipmentRecord
.Examples:
T={0} H={1} D={2}
{connection[address]} T={0:.1f} H={1:.1f} D={2:.1f}
T1={0} T2={3} H1={1} H2={4} D1={2} D2={5}
{alias} {serial} -> T={0}C H={1}% D={2}C
db_timeout (
float
, optional) – The number of seconds the connection to the database should wait for the lock to go away until raising an exception.validator – A callback that is used to validate the data. The callback must accept two arguments (data, ithx), where data is a
tuple
of the temperature, humidity and dewpoint values for each probe and ithx is theiTHX
instance (i.e., self). The callback must return a value whose truthness decides whether to insert the data into the database. If the returned value evaluates toTrue
then the data is inserted into the database.
- static data(path, start=None, end=None, as_datetime=True, select='*')[source]
Fetch all the log records between two dates.
- Parameters:
start (
datetime
orstr
, optional) – Include all records that have a timestamp \(\ge\) start. If astr
then in the ISO 8601yyyy-mm-dd
oryyyy-mm-ddTHH:MM:SS
format.end (
datetime
orstr
, optional) – Include all records that have a timestamp \(\le\) end. If astr
then in the ISO 8601yyyy-mm-dd
oryyyy-mm-ddTHH:MM:SS
format.as_datetime (
bool
, optional) – Whether to fetch the timestamps in the database asdatetime
objects. IfFalse
then the timestamps will be of typestr
and this function will return much faster if requesting data over a large date range.select (
str
orlist
ofstr
, optional) – The field name(s) in the database table to use for theSELECT
SQL command (e.g.,'datetime,temperature'
or['datetime', 'humidity']
).
- Returns:
list
oftuple
– A list of(pid, datetime, temperature, humidity, dewpoint, ...)
log records, depending on the value of select.
- msl.equipment.resources.omega.ithx.convert_datetime(value)[source]
Convert a date and time to a
datetime
object.- Parameters:
value (
bytes
) – The datetime value from an SQLite database.- Returns:
datetime.datetime
– The value as a datetime object.