david, the sdr driver defines a special type of variable called a 'delta'
any delta variable will be calculated by taking the difference of the current
value and the previous value
for example, 'rain' is a delta variable, and it is calculated by the
differences in the 'rain_total' observation
delta variables are specified in the configuration file like this:
[SDR]
[[delta]]
rain = rain_total
in fact, 'rain' is a default delta variable, and it is mapped to 'rain_total'
(as shown above)
the sensor_map associates an observation name (e.g., rain_total) with the
fully-qualified observation name (e.g., rain_total.A52B.Acurite5n1Packet)
observation names must be in the database schema in order for the data to be
recorded. otherwise, the values will show up in loop packets or archive
records, but they will not be inserted into the database.
why all this complexity?
the sdr driver has to be generic - it has to handle different types of
observations with different characteristics from different types of hardware.
all weewx drivers do these mappings (observation-name-to-database-field-name,
observation-type), but the sdr driver does it generically so that you can
customize it in the config file, not by modifying code.
i try to document these things in the comments at the beginning of every driver
i write. so its a good idea to read those comments if the associated readme
leaves you wondering what is happening.
hope that helps.
m
--
You received this message because you are subscribed to the Google Groups
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
signature.asc
Description: Message signed with OpenPGP
