Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Amazon Wishlist Monitor

Home Assistant custom integration that monitors a private Amazon wishlist through Amazon's printable wishlist view and reacts when items change.

Features

  • 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 detected binary sensor
  • Exposes a Check now button entity
  • Exposes a Test actions button entity
  • Exposes an amazon_wishlist_monitor.check_now service
  • Exposes an amazon_wishlist_monitor.test_actions service
  • 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 logging mode that writes refresh and action traces to the Home Assistant log

Install

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.

Authentication

The integration uses a best-effort Amazon login flow.

Required:

  • Amazon email
  • Amazon 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.

Configuration

  • Name: Display name for the config entry
  • Wishlist URL: Standard wishlist URL, printview URL, or just the wishlist ID
  • Amazon email
  • Amazon password
  • Amazon OTP code
  • Alert title: Notification title for this wishlist
  • Alert on removals: Disable this to ignore removal-only refreshes and alert only on additions
  • Notification service: For example notify.pushover
  • Light target: Light entities, areas, or devices to flash
  • Toggle lights when changes are detected
  • Light flash count
  • Flash brightness
  • Flash duration
  • Flash color
  • Notification message template
  • Scan interval: Minutes between scheduled refreshes
  • User-Agent
  • Debug logging

Behavior

  • 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 items responses are rejected so transient Amazon responses are not treated as mass removals

Manual Refresh

  • 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.

Test Actions

  • amazon_wishlist_monitor.test_actions runs 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

  • 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

Debug Logging

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

Caveats

  • 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

About

A Home Assistant integration for monitoring amazon wishlists and getting alerts, via HACS.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages