Record that the /devices/0 element is not required - #107
Merged
Merged
Conversation
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The batch that starts a cook leads with a bare
{"href": "/devices/0"}element: plural, while the write target is/device/0singular, and carrying norep. Nothing said whether the firmware needed it.Measured 2026-09-20: the identical batch with that element deleted started a cook first time, reaching
RunandCookingwithin 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 answering2.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.