Skip to content

Releases: WJDDesigns/ultra-card-connect

v1.1.0 — HTTP API Auth, Setup Without Account & Credentials Flow

01 Mar 02:33

Choose a tag to compare

Ultra Card Connect v1.1.0

Stable Release — recommended for all users.


✨ What's New

HTTP API Auth Views

Three new HA HTTP API endpoints are now registered on integration setup, allowing the Ultra Card frontend to authenticate users directly through Home Assistant's secure session layer — credentials are never stored in browser localStorage.

  • POST /api/ultra_card_pro_cloud/login — Accepts username + password, updates the config entry credentials, forces the coordinator to re-authenticate, and returns the current sensor state immediately so the frontend reflects auth status without a page reload. If no config entry exists yet, one is created automatically via the config flow.
  • POST /api/ultra_card_pro_cloud/logout — Removes stored credentials from the config entry and resets JWT/refresh tokens, logging the user out cleanly.
  • POST /api/ultra_card_pro_cloud/register — Creates a new ultracard.io account via the WordPress API, then auto-logs in using the login flow above. Returns the sensor state on success.

All views require a valid Home Assistant session (requires_auth = True).

Setup Without Account

The config flow now opens with a menu step letting users choose:

  • Sign in with ultracard.io account — proceeds to the new credentials step (username/password).
  • Set up without an account — creates a config entry immediately with no credentials, so the sidebar appears right away. Users can sign in later via the Account tab in the Hub sidebar.

Coordinator — Graceful No-Credentials Handling

When the config entry has no credentials (set up without account), the coordinator now returns {"authenticated": False} immediately instead of attempting network requests, eliminating unnecessary errors in the logs.

Config Flow Cleanup

  • Split async_step_user into a menu step (user) and a dedicated async_step_credentials step for the sign-in form.
  • Added async_step_user_api — a programmatic flow step called by the new login HTTP view to create entries without user interaction.
  • Config entry title changed from "Ultra Card Pro (...)" to "Ultra Card (...)".
  • Removed emoji prefixes from log statements for cleaner HA logs.

Strings & Translations

  • New user step description explains the menu choice.
  • New credentials step with sign-in instructions and a link to the registration page.
  • Updated strings.json and translations/en.json in sync.

🐛 Bug Fixes

  • Fixed whitespace/formatting inconsistencies in coordinator.py.
  • ultra-card-panel.js minor update (line 307 patch).

🔧 Installation / Upgrade

  1. In HACS, find Ultra Card Connect and update to v1.1.0.
  2. Restart Home Assistant when prompted.
  3. If upgrading, your existing config entry is preserved — no reconfiguration needed.
  4. New installs will see the "Set up without account" option during initial config flow.

Pairs with Ultra Card v3.1.0-beta1 or later.

v1.0.9

25 Feb 21:38

Choose a tag to compare

What's Changed in v1.0.9

See CHANGELOG.md for details.

Installation

Via HACS (Recommended):

  1. Open HACS in Home Assistant
  2. Search for "Ultra Card Connect"
  3. Click Download
  4. Restart Home Assistant

Manual Installation:

  1. Download the custom_components/ultra_card_pro_cloud folder
  2. Copy to your Home Assistant config/custom_components/ directory
  3. Restart Home Assistant

v1.0.8

25 Feb 20:40

Choose a tag to compare

What's Changed in v1.0.8

See CHANGELOG.md for details.

Installation

Via HACS (Recommended):

  1. Open HACS in Home Assistant
  2. Search for "Ultra Card Pro Cloud"
  3. Click Install
  4. Restart Home Assistant

Manual Installation:

  1. Download the custom_components/ultra_card_pro_cloud folder
  2. Copy to your Home Assistant config/custom_components/ directory
  3. Restart Home Assistant

v1.0.5

24 Dec 17:13

Choose a tag to compare

What's Changed in v1.0.5

See CHANGELOG.md for details.

Installation

Via HACS (Recommended):

  1. Open HACS in Home Assistant
  2. Search for "Ultra Card Pro Cloud"
  3. Click Install
  4. Restart Home Assistant

Manual Installation:

  1. Download the custom_components/ultra_card_pro_cloud folder
  2. Copy to your Home Assistant config/custom_components/ directory
  3. Restart Home Assistant

v1.0.4

23 Dec 21:39

Choose a tag to compare

What's Changed in v1.0.4

See CHANGELOG.md for details.

Installation

Via HACS (Recommended):

  1. Open HACS in Home Assistant
  2. Search for "Ultra Card Pro Cloud"
  3. Click Install
  4. Restart Home Assistant

Manual Installation:

  1. Download the custom_components/ultra_card_pro_cloud folder
  2. Copy to your Home Assistant config/custom_components/ directory
  3. Restart Home Assistant

v1.0.3

22 Dec 22:45

Choose a tag to compare

What's Changed in v1.0.3

Improved

  • Better Connection Error Handling: Added specific exception handling for different connection error types (DNS, SSL/TLS, timeout, server disconnection) with helpful error messages to aid troubleshooting
  • User-Agent Headers: All API requests now include proper User-Agent headers to prevent WAF/CDN blocking
  • Increased Timeouts: Extended request timeout from 15s to 30s with a separate 10s connection timeout for more reliable connections on slower networks
  • Connectivity Diagnostics: Added async_test_connectivity() method for diagnosing connection issues (tests DNS, SSL, API, and auth separately)
  • Enhanced Error Logging: Error responses now include error_type field for easier issue categorization

Fixed

  • Intermittent connection failures where users could reach ultracard.io in browser but not through Home Assistant

Installation

Via HACS (Recommended):

  1. Open HACS in Home Assistant
  2. Search for "Ultra Card Pro Cloud"
  3. Click Install
  4. Restart Home Assistant

Manual Installation:

  1. Download the custom_components/ultra_card_pro_cloud folder
  2. Copy to your Home Assistant config/custom_components/ directory
  3. Restart Home Assistant

v1.0.2: JWT Authentication Pro Compatibility

16 Dec 15:04

Choose a tag to compare

🐛 Bug Fixes

  • JWT Authentication Pro compatibility - Full support for JWT Auth Pro plugin with token refresh mechanism
  • Fixed token expiry detection - Now correctly parses JWT token expiry from the token itself (supports 180+ day tokens)
  • Fixed 202 status handling - Properly handles HTTP 202 'Accepted' responses from JWT Auth Pro
  • Added rate limiting support - Handles HTTP 429 responses with proper Retry-After delays

✨ Improvements

  • Added retry logic - Automatic retries with exponential backoff for transient failures
  • Improved token refresh - Better handling of refresh tokens with JWT Auth Pro format
  • Reduced logging noise - Routine polling now uses debug level (quiet logs in production)
  • Better error recovery - Clears stale tokens after 3 consecutive failures to force fresh authentication

🔧 Root Cause

The integration was defaulting to 1-hour token expiry when JWT Auth Pro doesn't return expires_in in the response. This caused unnecessary token refresh attempts every 55 minutes, leading to intermittent connected/disconnected status.

The fix parses the actual JWT token to extract the real expiry time from the exp claim.

📦 Installation

Update via HACS or manually replace the custom_components/ultra_card_pro_cloud folder.

⚠️ After Update

Users experiencing issues should:

  1. Remove the integration
  2. Restart Home Assistant
  3. Re-add the integration with their credentials

V1.0.1

13 Oct 01:52

Choose a tag to compare

Initial Release