Skip to content

Record that the /devices/0 element is not required - #107

Merged
QuiteYellow merged 2 commits into
mainfrom
docs/devices-marker-not-required
Sep 20, 2026
Merged

QuiteYellow merged 2 commits into
mainfrom
docs/devices-marker-not-required

Conversation

@QuiteYellow

Copy link
Copy Markdown
Owner

The batch that starts a cook leads with a bare {"href": "/devices/0"} element: plural, while the write target is /device/0 singular, and carrying no rep. Nothing said whether the firmware needed it.

Measured 2026-09-20: the identical batch with that element deleted started a cook first time, reaching Run and Cooking within four seconds. So this oven does not need it.

The bridge keeps sending it anyway, and the doc now says why: one oven, one model, one cavity is a thin basis for dropping part of a payload that is known to work, and including it costs nothing.

The bridge comment previously asserted the element "is addressing, not a representation". That was an inference stated as fact, in a place a reader would take as settled. It now says only what is measured.

Also documents the Remote Control precondition properly. With it off, the cook parameters are still accepted and held while only state: "Run" is dropped, both answering 2.04, so a batch that appears not to start says nothing about the payload. A test run was lost to exactly that, and it does not survive a power cycle.

Docs and one comment. No behaviour change; 844 tests pass.

The batch that starts a cook leads with a bare {"href": "/devices/0"}
element: plural, while the write target is /device/0 singular, and
carrying no rep. Nothing said whether the firmware needed it.

Measured 2026-09-20: the identical batch with that element deleted
started a cook first time, reaching Run and Cooking within four seconds.
So this oven does not need it.

The bridge keeps sending it anyway, and the doc now says why. One oven,
one model, one cavity is a thin basis for dropping part of a payload
that is known to work, and including it costs nothing.

The bridge comment previously asserted the element "is addressing, not a
representation". That was an inference stated as fact, in a place a
reader would take as settled. It now says only what is measured: it
carries no rep, so there is nothing to merge, and it is not required.

Also documents the Remote Control precondition properly. With it off the
cook parameters are still accepted and held while only state: "Run" is
dropped, both answering 2.04, so a batch that appears not to start says
nothing about the payload. A test run was lost to exactly that. It does
not survive a power cycle.
The older HTTP API these machines exposed before OCF has a top-level
Devices array. Its members link to sub-resources at
/devices/0/information and /devices/0/configuration. Today's batch has
that same shape, one element per sub-resource written together, so the
marker reads like the older resource name carried across the generation
change.

Marked as inference. The evidence is a publicly posted capture of
different hardware, and both firmwares are silent on it. It earns its
place by making the element likelier to still be wired to something on
some board, which is the argument for sending it.

Also drops a count that stopped being true once the section below that
paragraph added a third detail.
@QuiteYellow
QuiteYellow merged commit 59cf94c into main Sep 20, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant