Cruise Tracker Price Checks + Home Assistant Alerts (Issue #1555)

I finally wired my Cruise Tracker to automatically check Royal Caribbean pricing every 6 hours, record price changes, and push a phone + HA notification when a lower price is detected. This is the kind of vibe-code project that can literally save you real money.

Cruise Tracker dashboard showing saved cruises and current pricing

I’ve been manually stalking Royal Caribbean pricing forever. This week I finally finished Issue #1555 and turned my Cruise Tracker into a real deal hunter: it checks pricing on a schedule, shows me the current price vs what I booked, and pings me in Home Assistant when it finds a lower price. This is the kind of vibe-code project that can literally save me REAL money.

Issue #1555 (closed): https://github.com/CCOSTAN/Home-AssistantConfig/issues/1555

What changed

  • Automatic RC price checks every 6 hours (and on-demand).
  • Dashboard-first tracking: booked price vs current price, with a quick trend view.
  • Price history only when it matters: I’m not spamming the DB with duplicate prices; I only care when something changes.
  • Home Assistant notifications: phone push + a dismissable notification on the HA web UI.

How the Cruise Tracker price checker works

The key is using the Royal Caribbean checkout URL (the one that includes /checkout/guest-info). Once that URL is saved for a sailing, the checker can reliably pull the current price without me having to click around the site.

  • I save the RC checkout URL alongside each sailing I care about.
  • A sidecar container runs the checker on a 6-hour schedule and writes logs/status.
  • Cruise Tracker parses the results and stores price history so I can see trends.
  • On the main table, I can compare what I booked vs the latest checked price (and pop a chart when I want details).

Using Home Assistant as the notification platform

I wanted a single place where all my “important stuff” shows up. Home Assistant is perfect for that. When the Cruise Tracker detects a price drop, it posts to an HA webhook. HA then does two things:

  • Sends a push to my phone via my notify_engine script (who: carlo).
  • Creates a dismissable notification inside the HA web UI so I can review it later.

HA config added here: config/packages/royalcaribbean.yaml

Notify engine (preferred notification path) lives here: config/script/notify_engine.yaml

Why this saves real money

Royal runs promos constantly. Prices move. Sometimes it’s a cabin reprice, sometimes it’s a promo that changes the total, sometimes it’s just timing. The point is: if I catch a drop early, I can call it in (or rebook/adjust) and keep that money in my pocket.

Now I don’t have to remember to check. I just get a ping when it matters.

Draft generated with help from Codex

TAGS