Skip to content

v0.5.0

Latest

Choose a tag to compare

@github-actions github-actions released this 27 Sep 13:10
· 2 commits to main since this release
86822af

The first number this integration publishes that is about the instrument rather
than about the soil.

Everything else here measures one probe against a modelled water deficit, and the
error budget that comes out of it has never had anything measured underneath it.
Two probes in the same pot answer part of that directly: they share the weather,
the soil and the model, so whatever they disagree about is the hardware, and that
disagreement bounds what any calibration of either of them can honestly claim.

The warning of 0.1.0 still stands, and this release is a way of attacking it
rather than a fix for it: the error budget is argued from soil physics and not yet
measured against probes in the ground.

Added

  • A spread entity on the installation, reporting how far apart probes that
    share soil currently read, in index points. It names the group that disagrees
    most, the probes it compared, and the ones it left out with the reason: a
    reading that is missing, a device that has gone quiet, or an electrode that has
    stalled. A spread computed over two of five probes and one computed over all
    five are different claims, and the number alone cannot tell them apart.
  • A same-soil group on each probe. Probes given the same label are declared to
    sit in the same soil, close enough that they should read alike, and only then
    are they compared. This is the precondition the whole feature rests on and only
    the owner of the garden knows it: probes in different beds are supposed to
    disagree, and a spread across them would render as a measurement and be noise.
    Empty by default, so nothing is compared until somebody says so.
  • unknown and never zero when nothing can be compared. Zero means the probes
    agree perfectly, which is the most interesting result this can produce; it must
    not also be what appears when nobody configured anything. The attributes
    distinguish the two cases, listing both the groups declared and the groups
    actually compared.
  • scripts/probe_spread.py, which needs no configuration and no calibration:
    point it at several probe entities, leave it running, and it writes a CSV and
    says what the spread was. Readings too old to compare are set aside by name,
    because a probe that has not reported for an hour is not disagreeing with the
    others, it is late. Ten minutes gives the disagreement at one moisture level; a
    run through a whole dry-down gives the transfer function between the probes.