Home Assistant custom integration that monitors a private Amazon wishlist through Amazon's printable wishlist view and reacts when items change.
- Logs into Amazon with email, password, and optional OTP
- Accepts a standard wishlist URL, a printview URL, or just the wishlist ID
- Normalizes requests to Amazon printview with
filter=unpurchased - Follows printable pagination so later pages are included in the snapshot
- Detects added and removed items between complete snapshots
- Sends alerts through any Home Assistant notify service, including
notify.pushover - Supports a custom alert title and a templated notification message
- Supports suppressing removal alerts so only additions trigger actions
- Exposes a
Changes detectedbinary sensor - Exposes a
Check nowbutton entity - Exposes a
Test actionsbutton entity - Exposes an
amazon_wishlist_monitor.check_nowservice - Exposes an
amazon_wishlist_monitor.test_actionsservice - Optionally flashes selected lights when a real change is detected
- Restores the original light state after flashing, with per-light restore fallbacks for platforms that reject some saved color fields
- Includes an optional
Debug loggingmode that writes refresh and action traces to the Home Assistant log
Copy amazon_wishlist_monitor into your Home Assistant custom_components directory:
config/
custom_components/
amazon_wishlist_monitor/
Restart Home Assistant, then add the integration from Settings > Devices & Services.
The integration uses a best-effort Amazon login flow.
Required:
Amazon emailAmazon password
Optional:
Amazon OTP code
This works only when Amazon presents normal sign-in pages. If Amazon requires CAPTCHA, device approval, or another unsupported challenge, login will fail.
Name: Display name for the config entryWishlist URL: Standard wishlist URL, printview URL, or just the wishlist IDAmazon emailAmazon passwordAmazon OTP codeAlert title: Notification title for this wishlistAlert on removals: Disable this to ignore removal-only refreshes and alert only on additionsNotification service: For examplenotify.pushoverLight target: Light entities, areas, or devices to flashToggle lights when changes are detectedLight flash countFlash brightnessFlash durationFlash colorNotification message templateScan interval: Minutes between scheduled refreshesUser-AgentDebug logging
- The first successful fetch creates a baseline and does not alert
- The last successful snapshot is persisted through Home Assistant storage so restarts do not force a brand-new baseline
- Alerts and light flashing happen only when items are actually added or removed
- Manual refresh uses the same code path as scheduled polling
- The binary sensor keeps the last detected change until a newer change replaces it
- Empty wishlists are allowed when Amazon clearly returns an empty printview page
- Unexpected
0 itemsresponses are rejected so transient Amazon responses are not treated as mass removals
- Button entity:
Check now - Button entity:
Test actions - Service:
amazon_wishlist_monitor.check_now - Service:
amazon_wishlist_monitor.test_actions - Service field:
entry_id
If entry_id is omitted, the service runs against all configured Amazon Wishlist Monitor entries.
amazon_wishlist_monitor.test_actionsruns the configured notification and light flash actions immediately- It does not modify the stored wishlist snapshot
- It is useful for verifying
notify.pushover, light targeting, flash color, brightness, and restore behavior without needing a real wishlist change
- Light flashing runs only when wishlist contents actually change
- Lights are resolved to concrete
light.entities before the flash starts - The integration snapshots each targeted light state before flashing
- Flash and restore run per light so one flaky entity does not poison the whole batch
- Lights that go temporarily unavailable are skipped or retried during restore
- If a platform rejects a saved color field during restore, the integration retries restore without that color field
When Debug logging is enabled, the integration writes Amazon Wishlist Monitor debug [...] lines to the Home Assistant log for:
- Manual refresh requests
- Refresh start
- Fetched wishlist item counts
- Baseline creation
- No-change refreshes
- Detected additions and removals
- Notification sends
- Light flashing and restore steps
- Fetch and authentication failures
- Amazon can change the printable wishlist markup at any time
- Amazon login automation is inherently fragile
- Amazon credentials should be treated like passwords
- Some Amazon responses can still vary between refreshes, so the integration guards against unexpected empty snapshots instead of trusting them
- Light restoration is best-effort and depends on what each light integration supports through
light.turn_on