Repository navigation
my.bluemaestro: skip log tables with inconsistent timestamps - #527
Merged
Merged
Conversation
For devices without a clock, the app assigns evenly spaced timestamps to the readings. It counts back from the download time, or forward from `calcReferenceUnix` if it's set. When that goes wrong (e.g. the device memory wraps around while `calcReferenceUnix` is set), the whole table is mislabelled. The per-row "timestamp too far out" check only caught some of these: readings up to 10 days after the download still got through with wrong timestamps, and each rejected row produced its own error. Now a table is skipped with a single error if: - any reading is dated after the download, or - the readings are evenly spaced and the newest one is more than one logging interval before the download. Unevenly spaced readings come from devices with their own clock, which may legitimately stop logging before the download. This replaces the `is_bad_table` config hook removed in 4b5b62b, which required listing bad tables by hand. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
For devices without a clock, the app assigns evenly spaced timestamps to the readings. It counts back from the download time, or forward from
calcReferenceUnixif it's set. When that goes wrong (e.g. the device memory wraps around whilecalcReferenceUnixis set), the whole table is mislabelled.The per-row "timestamp too far out" check only caught some of these: readings up to 10 days after the download still got through with wrong timestamps, and each rejected row produced its own error.
Now a table is skipped with a single error if:
Unevenly spaced readings come from devices with their own clock, which may legitimately stop logging before the download.
This replaces the
is_bad_tableconfig hook removed in 4b5b62b, which required listing bad tables by hand.