Skip to content

HouseFly 2.21.0 — something to install, not only something to watch

Choose a tag to compare

@Vortitron Vortitron released this 27 Oct 14:38

Groundwork for the Home Assistant Marketplace, which replaces HACS in 2026.11.

A blueprint for the unusual alert. The notification that turned "something
unusual" into something a person reads lived only on the Swarm, built by hand.
It is now blueprints/automation/housefly/unusual_notify.yaml, importable with
one button from the README: pick the flies, choose whether alerts where only
the hour is strange are worth hearing about, and add your own actions (title,
message, fly and report are passed to them). Three things went wrong on
the way, all found by running it on the Swarm against a probe sensor rather
than by reading it: device_attr raises for an entity with no device; a dict
of the sensor's attributes cannot be passed on, because Home Assistant's own
keys are enum members and the text does not read back, so report arrived as
a string and every alert was dropped as "not yet learned"; and a folded YAML
block ran the list of changes into one line. Check 15 pins every attribute and
field the blueprint reads to the dicts the coordinator builds, and fails when
either side is renamed (tried both ways).

A fly says what it costs. A new diagnostic sensor, Tick cost, reports
the milliseconds of brain per tick on the machine it runs on, averaged over a
minute, with the event-loop time, the share of one core and the CPU
architecture as attributes. tools/bench.py measures the same with nothing
but numpy, before installing: 61 ms per two-second tick here, 3.0% of one core,
in line with the README's 59 ms. On the Swarm, a hosted virtual machine with
four flies, it read 136–153 ms per fly within minutes of going in: more than
twice the desktop, and now in the README beside it. Nobody has measured a Raspberry Pi or a Home
Assistant Green yet; the README says so, expects a small board to need several
times as much, and explains what the tick interval does and does not buy (up
to three seconds, nothing per second; beyond that, a tick still simulates only
three, so the brain runs slower and costs less).

Smaller things. The device page reported firmware "2.0.0" for twenty
releases; it now reads the manifest. hacs.json asks for Home Assistant
2026.9 or later, the oldest version this has actually been run on, instead of
2024.7, which nobody had tried. (A Marketplace category, categories in the
manifest, waits for 2026.11: the HACS action asks for one and the released
hassfest still rejects the key.)

Scoring the alert, starting now. One alert in about 28 fly-days on the
Swarm reads well, but nothing on a simulated house is ever unusual, so a
detector that hears nothing would read the same. testbed/demo/demo_pranks.yaml
plants one thing a day at no set hour — the garage door motor running, every
light on at once, or somebody walking round a house nobody walks round — holds
it twenty minutes, puts it back and logs it, so the next fortnight's alerts can
be scored for hits and false alarms per fly. Nothing in the README claims the
alert catches anything until that is in.

The README starts with what you get. The Marketplace shows the README, so
its first screen now lists the entities, the event, the blueprint, the cards
and the safety default before the neuroscience, and installation covers the
Marketplace as well as HACS.