Conversation
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.
A cloud-paired Q7 sc05 can receive an owner-initiated, script-only OTA that changes the five saved API/MQTT fields in
iot.json. This PR builds that package, reserves matching credentials on the local server, verifies the hosted bytes and current cloud identity, and sends the update only while the robot is charging with OTA idle. The script saves the originaliot.jsonbeside it before an atomic replacement. It does not enable SSH or replace the kernel or root filesystem.The B01 owner command transport may apply to other models, but the package format, OTA key, return script, and
iot.jsonpath are pinned to inspected Q7 sc05 firmware 03.01.74 and 03.01.80. Q10 is not yet validated. A per-device flash dump is not needed for this owner-account migration; building the package still requires the pinned firmware-wide Q7 profile, which is currently kept private. This PR is stacked on #96 for local B01 service once connected.On one physical Q7, the cloud-to-local migration was completed on both supported firmware versions. After this trim, the 03.01.80 migration package rebuilds byte-for-byte identically to the tested package. The profile is not published in this PR. This trim also omits the separate restore OTA sender; the original
iot.jsonremains backed up on the device.Compatibility: V1 key lookup retains its DID fallback. MQTT inventory seeding now uses inbound
rr/d/ionly; an outboundrr/d/omessage no longer creates a device row. Reserved Q7 migration records are linked to a device topic only after an authenticated publish, avoiding a stale model-only DID guess. No existing admin route is changed.Validation: 41 focused tests passed (1 skipped); the broader suite passed 239 tests (1 skipped) with two unrelated long-running modules excluded. The URL migration package parity check passed.