Files
hassio-addons/free_games_claimer

Home Assistant add-on: Free Games Claimer

I maintain this and other Home Assistant add-ons in my free time. Keeping up with upstream changes, Home Assistant changes, and testing on real hardware takes a significant amount of time.

Buy me a coffee Donate via PayPal

Add-on information

Version Arch

GitHub Super-Linter Builder

About

This add-on is based on Free Games Claimer Remaster. It can claim free games from:

  • Epic Games Store, including its weekly free mobile game
  • Fab, Epic's asset marketplace (fab)
  • Amazon Prime Gaming
  • GOG
  • Steam
  • Ubisoft giveaways (ubisoft)
  • AliExpress daily coin check-in (aliexpress)
  • GamerPower-supported stores, when explicitly enabled

For compatibility with previous add-on releases, the default store selection remains Epic Games, Prime Gaming, and GOG. The other stores are enabled by adding them to STORES, for example epic,prime,gog,fab,ubisoft, and each needs its own credentials in config.env.

Web interface

The noVNC interface remains available on port 6080:

http://homeassistant:6080

It can be used for initial sign-in, CAPTCHA handling, or other manual browser interaction. Set VNC_PASSWORD in config.env to protect the VNC session.

Add-on options

Option Default Description
CONFIG_LOCATION /config/config.env Persistent environment configuration file
RUN_ONCE true Run all selected claimers once, then stop the add-on as previous releases did
STORES empty Optional comma-separated override, such as epic,prime,gog,steam
CMD_ARGUMENTS node epic-games ; node prime-gaming ; node gog Deprecated compatibility option; recognized legacy command names are converted to STORES
env_vars [] Additional environment variables passed to the add-on

Run modes

With RUN_ONCE: true, the add-on performs one claiming pass and stops. This is the default and preserves the behavior of the former vogler-based add-on.

With RUN_ONCE: false, the remaster remains running and uses its internal scheduler. Set SCHEDULER_HOURS in config.env to control the interval.

Environment configuration

The add-on keeps its configuration in CONFIG_LOCATION, which defaults to /config/config.env. From Home Assistant this is stored in the add-on's private addon_configs directory and can be edited with a compatible file browser add-on.

A template is created on first start. Common examples are:

# Preserve the former default selection
STORES=epic,prime,gog

# Epic Games
EG_EMAIL=your-email@example.com
EG_PASSWORD=your-password
EG_OTPKEY=

# Amazon Prime Gaming
PG_EMAIL=your-amazon-email@example.com
PG_PASSWORD=your-password
PG_OTPKEY=

# GOG
GOG_EMAIL=your-gog-email@example.com
GOG_PASSWORD=your-password

# Optional Steam support
STEAM_USERNAME=your-steam-username
STEAM_PASSWORD=your-password

# Optional notifications
NOTIFY=tgram://bot-token/chat-id
# DISCORD_WEBHOOK=https://discord.com/api/webhooks/...

Upstream's release-update notification (NOTIFY_UPDATES) is disabled by the add-on, because it advises running docker compose pull while the add-on is actually updated through the Home Assistant add-on store. Setting NOTIFY_UPDATES=true in config.env re-enables it.

Existing variables such as EG_EMAIL, EG_PASSWORD, PG_EMAIL, PG_PASSWORD, PG_OTPKEY, GOG_EMAIL, GOG_PASSWORD, SHOW, WIDTH, HEIGHT, TIMEOUT, LOGIN_TIMEOUT, DRYRUN, and NOTIFY remain compatible. See the upstream configuration reference for all available settings.

Upgrade from version 1.8

Version 2.0 changes the application engine from vogler/free-games-claimer (Node.js, Playwright, and Firefox) to P-Adamiec/Free-Games-Claimer-Remaster (Python, nodriver, and Chromium). The add-on performs the following migration automatically on first start:

  1. The existing config.env remains at the same configured location.
  2. Legacy epic-games.json, prime-gaming.json, and gog.json claim history is imported into the remaster SQLite database at /data/fgc.db.
  3. Existing database rows are detected and are not duplicated if migration is retried.
  4. A pre-migration database backup is created when an existing fgc.db is present.
  5. All old files remain under /data/data for rollback or manual recovery.

Browser sessions cannot be converted because the old add-on used a shared Firefox profile while the remaster uses separate Chromium profiles per store. Credentials remain available through config.env, but accounts that require interactive authentication may need a one-time login through noVNC after the upgrade. The old Firefox profile is retained and is never deleted.

The external noVNC port remains 6080, although the standalone remaster image normally uses port 7080.

Upstream update policy

The image is built from the upstream release named by ARG BUILD_UPSTREAM in the Dockerfile, downloaded as the matching v<version> source tarball. The repository updater tracks upstream releases and bumps that value, the add-on version and CHANGELOG.md together, so a new upstream release reaches the add-on without a manual edit.

A release tag is a mutable reference. Rebuilding the same BUILD_UPSTREAM installs whatever that tag points at, so an upstream tag that is force-moved or deleted would change or fail the build without an add-on change. That is the accepted cost of automatic tracking, and it is the same trade-off every other automatically updated add-on in this repository makes; the previous commit pin was immutable but could only be advanced by hand.

Upstream's development tags (v1.7d and similar) are filtered out through "github_exclude": "d" in updater.json. Without it the updater reports the v1.7d tag as release 1.7, for which GitHub serves no source archive, and the build would fail.

The add-on version does not track the upstream version. The add-on uses a 2.x series while upstream is on 1.x, and Home Assistant only offers an update when the new version sorts strictly higher, so the updater increments the add-on version (2.1.0 to 2.1.1) instead of publishing a lower-sorting upstream number. The upstream release actually installed is recorded in upstream_version in updater.json, in CHANGELOG.md, and in the add-on's startup banner.

Installation

  1. Add this add-on repository to the Home Assistant add-on store.
  2. Install Free Games Claimer.
  3. Configure the add-on options as needed.
  4. Start the add-on and review its log.
  5. Open noVNC if an account needs manual authentication.

Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.

Custom scripts and environment variables

Support

Open an issue in the add-on repository.