Skip to content

Skin Temp showing 7-9C when set to celsius #171

Closed

Description

@c0dingnoobi

NOOP version

8.5.2

Platform

macOS

OS version

Android 16

WHOOP strap model

WHOOP 4.0

Where the data is coming from

Live Bluetooth (strap connected)

Test Centre profile

Not a test-mode bug

What happens

The deep timeline sections shows the temperature however it is most likely scalled wrongly -> there is a slight difference sometimes of the captured metrics but it usually is only within 7 to 9 degrees

What you expected instead

It should properly scale it

Steps to reproduce

  1. Connect your whoop
  2. Let it collect some data
  3. See in deep timeline 7.6C

Strap log

I dont think its needed - i will attach one later if required

Before you submit

  • I attached my exported NOOP .zip (not a screenshot of the Live screen). If my bug is a clearly reproducible UI issue I described exactly how to see it instead.
  • I attached or pasted a strap log above — or my bug is a clearly reproducible UI issue that doesn't need one (e.g. a typo, a button that does nothing) and I've described exactly how to see it.
  • I checked the Troubleshooting guide — especially "history syncs but no data" (most often the strap isn't banking history to flash; charge it to 100% and reconnect).
  • I checked the FAQ and — if I'm on a WHOOP 5.0 / MG — the 5.0/MG status page, and this isn't an already-known limit (e.g. SpO₂, or recovery/sleep on the 5/MG).
  • I've left out anything personal (strap serial, account email, raw export).

Activity

  1. pagarsky commented on Jul 10, 2026

    @pagarsky

    Root cause found — this is not a °C/°F conversion bug.

    The Add-Device wizard stores the strap's registry model label as bare "4.0" (AddDeviceWizard.kt:268), but all four skin-temp family resolvers compare the label against the full picker spelling "WHOOP 4.0" (FullDayChartScreen.kt ~360, RegistryDayOwnerSource.kt ~55, Repository.swift ~1452, IntelligenceEngine.swift ~1386). For a wizard-paired 4.0 the match always fails, so its samples get decoded with the WHOOP 5/MG raw/100 rule.

    The arithmetic confirms it: a worn 4.0's raw skin-temp band is 760–865, and /100 gives exactly the reported 7.6–8.65 °C — 34 °C real → 8.46.

    Other surfaces hide the bug because analytics gates absolute temps to the plausible 28–42 °C range; the Deep Timeline plots ungated, which is why it shows up only there.

    This is the same registry-vs-hardcoded-label bug class as #172/#175 and #178/#179. Fix in PR #180, which centralizes label→family resolution into one documented resolver per platform instead of patching the four comparison sites.

  2. igorbaikov commented on Jul 12, 2026

    @igorbaikov

    I'm on 8.6.2 and it still shows 8-10c in deep timeline. It doesn't show anything on today->skin temperature. There it says import your history first. I'm confused - I never used whoop app, do I have to for this feature to work? Why does it show numbers on deep timeline then? Is it still bugged?

  3. added a commit that references this issue on Jul 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions