Skip to content

Add the East Pacific tropical outlook map - #37

Merged
turbo5000c merged 2 commits into
mainfrom
claude/hurricane-graph-pacific-map-6w9nzm
Sep 7, 2026
Merged

Add the East Pacific tropical outlook map#37
turbo5000c merged 2 commits into
mainfrom
claude/hurricane-graph-pacific-map-6w9nzm

Conversation

@turbo5000c

@turbo5000c turbo5000c commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Description

The hurricane outlook tile only ever showed the Atlantic, because the NHC publishes its two-day tropical weather outlook as one graphic per basin — a storm off Baja California never appeared on it.

  • New entity image.noaa_hurricane_pacific_outlook_image ("Pacific Outlook Image") on the existing shared NOAA Hurricane device, fed by https://www.nhc.noaa.gov/xgtwo/xgtwo_pac_2d0.png.
  • The Atlantic image now points at NHC's larger xgtwo_atl_2d0.png rendering instead of two_atl_2d0.png. Same map, more readable on a dashboard.
  • Ships as 0.7.1.

The Atlantic entity keeps its unique ID (noaa_hurricane_outlook_image) and its basin-neutral name, so existing dashboard cards and automations keep working. Only the upstream URL changed there.

Both URLs came from the request; they could not be fetched from the build sandbox (the egress proxy denies www.nhc.noaa.gov), so they are used verbatim and are worth an eyeball on a live install.

Files changed

  • custom_components/noaa_it_all/image.pyHURRICANE_PACIFIC_OUTLOOK_URL, HurricanePacificOutlookImageEntity, registered next to the other global hurricane images; HURRICANE_OUTLOOK_URL swapped to the larger Atlantic graphic.
  • custom_components/noaa_it_all/manifest.json — version 0.7.00.7.1.
  • tests/test_image.py — new property tests, a basin-URL regression test, and the new entity added to the existing global-hurricane / content-type / log-label / no-state-write sweeps.
  • README.md, CONFIGURATION.md, CHANGELOG.md — entity lists, the "no office code" exception tables, and a new [0.7.1] changelog section.

Type

  • Bugfix
  • Feature
  • Documentation
  • Other

Checklist

  • Follows Home Assistant custom integration structure
  • Passes flake8 checks (max-line-length=120)
  • Manifest is valid and complete (version bumped to 0.7.1)
  • README updated if required

Testing

Run locally, both as CI runs them:

  • python -m pytest tests/ — 1083 passed, 42 subtests passed
  • flake8 custom_components/noaa_it_all/ --max-line-length=120 and flake8 tests/ --max-line-length=120 — clean

New coverage: TestHurricanePacificOutlookImageEntity (name, unique_id, has_entity_name, hurricane device) and TestHurricaneOutlookSources, which pins each basin to its own graphic — a copy-paste slip leaving both entities on the Atlantic URL would otherwise pass the whole suite.

Risks / follow-ups

  • The two NHC URLs are unverified from this sandbox (proxy denial, not a 404). If either is wrong the tile stays blank and logs a fetch failure; the cache-on-failure behaviour means nothing else breaks.
  • No migration is needed — the Pacific entity is new, and the Atlantic one is untouched apart from its source URL.
  • Follow-up, out of scope here: CONFIGURATION.md section 2 ("NOAA Weather") still lists image.noaa_hurricane_outlook_image and image.noaa_hurricane_goes_geocolor, which live on the NOAA Hurricane device in section 4. Pre-existing, left alone.

🤖 Generated with Claude Code

https://claude.ai/code/session_01BArYuFJgY4WSgps3pHL2SU

The NHC publishes its two-day tropical weather outlook as one graphic per
basin, so the single Atlantic image showed nothing at all for a storm off
Baja California. Add image.noaa_hurricane_pacific_outlook_image alongside
it on the existing NOAA Hurricane device, and move the Atlantic image to
NHC's larger xgtwo_atl_2d0.png rendering.

The Atlantic entity keeps its ID and its basin-neutral name so existing
dashboards and automations keep working.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BArYuFJgY4WSgps3pHL2SU
Move the Pacific outlook entries into their own changelog section; they
were filed under 0.7.0, which is already out.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BArYuFJgY4WSgps3pHL2SU
@turbo5000c
turbo5000c marked this pull request as ready for review September 7, 2026 06:01
@turbo5000c
turbo5000c merged commit d9f4af0 into main Sep 7, 2026
1 check 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.

2 participants