Skip to content

Releases: nao-pon/hass_rs_wfirex4

Version 2026.1.1

27 Jan 14:53

Choose a tag to compare

🚀 2026.1.1

✨ Changed

  • Added bounded network behavior with tuning constants (connect/read timeouts, retries, exponential backoff with jitter) to make polling more resilient on typical LAN setups.
  • Refactored device I/O into a single fetch flow: connect → send request → read minimum required bytes → close.
  • Improved connection cleanup with safe close handling and debug logging on close errors.

🐛 Fixed

  • Prevented hangs caused by waiting for EOF when the device keeps the TCP connection open (now reads only the minimum response length needed).
  • Preserved Home Assistant cancellation behavior by not swallowing asyncio.CancelledError.

📝 Notes

  • Keeps the existing scan_interval throttling behavior to avoid hammering the device even after failures.
  • On the first failure, still attempts a MAC→IP re-resolve once and persists the resolved IP back to the config entry when available.

Full Changelog: 2026.1.0...2026.1.1

Version 2026.1.0

19 Jan 03:06

Choose a tag to compare

📌 Release 2026.1.0 — January 2026

🎯 Summary

This release focuses on improving the reliability and correctness of the integration initialization flow, particularly addressing warnings and errors related to ConfigEntryNotReady when setting up platforms. It also includes internal improvements for coordinator handling and fetcher configuration updates.


🧠 Changes

🛠️ Fix ConfigEntryNotReady Handling

  • Prevent warnings about ConfigEntryNotReady being raised from forwarded platforms.
  • Sensor coordinator now runs its first refresh before forwarding any platforms.
  • If the initial refresh fails, the entire config entry setup is aborted early with ConfigEntryNotReady, preventing partial platform setup (including remote).

📦 Initialization Flow Improvements

  • Moved DataUpdateCoordinator creation and first refresh into __init__.py’s async_setup_entry.
  • Platforms (sensor, remote, etc.) are forwarded only after successful initial coordination.
  • The remote platform no longer attempts device-specific logic during setup and depends on the parent entry’s connection result.

⚙️ Fetcher Enhancements

  • Added apply_config() to Wfirex4Fetcher to update an existing fetcher instance when options or host change, instead of always recreating.
  • Network configuration (host, offsets, scan interval) updates are now consistently applied to existing fetcher/coordinator instances.

🚫 Improved Error Reporting

  • Sensor fetch errors now raise UpdateFailed("Sensor fetch error: invalid response") instead of returning None, which aligns with Home Assistant conventions for update failure reporting.

🧹 Code Cleanup

  • Removed legacy/unused connection test implementation in favor of a unified test and coordinator initialization strategy.
  • Streamlined sensor.py so platform setup is lightweight and does not perform first refresh or raise ConfigEntryNotReady.

🧪 Behavior Notes

  • If the device cannot be reached during the initial connection or first refresh, the integration will fail to set up entirely and Home Assistant will retry per its retry policy.
  • The remote platform will not be available unless the underlying device is reachable.

🎉 Thanks

Thank you for using hass_rs_wfirex4!
This release improves stability and aligns the integration more closely with Home Assistant best practices. If you encounter any issues, please open an issue on GitHub with logs and details.


Full Changelog: 2025.12.0...2026.1.0

Version 2025.12.0

09 Dec 11:57

Choose a tag to compare

📌 Release Notes (2025.12.0)

Summary

This release includes an internal cleanup of the options flow and version update in preparation for future enhancements.

Changes

  • Refactored Options Flow Initialization
    Removed the unused config_entry parameter from WFireX4OptionsFlow and updated async_get_options_flow() accordingly to match current Home Assistant standards.
  • Updated Integration Version
    Bumped version to 2025.12.0.

Notes

These changes improve code maintainability and ensure better compatibility with newer Home Assistant config flow patterns.

Full Changelog: 2025.11.1...2025.12.0

Versoin 2025.11.1

29 Nov 13:22

Choose a tag to compare

Full Changelog: 2025.11.0...2025.11.1

fix: unify MAC handling and improve DHCP discovery

Refactor connection testing into a shared helper and ensure MAC normalization is consistent across config flow, entities, and
storage. Improve DHCP-based discovery by validating reachability and providing pre-filled defaults when starting a flow.

Also fixes incorrect DHCP MAC pattern in manifest, corrects storage file naming, and improves default device name generation.

Version 2025.11.0 – Major Update

28 Nov 02:19

Choose a tag to compare

Full Changelog: 2024.4.0...2025.11.0

GitHub Release Notes (English)

🎉 RS-WFIREX4 Integration – Major Update

This release delivers a significantly improved and more user-friendly experience for RS-WFIREX4 users.
Configuration, device structure, and reliability have all been enhanced.


New Features

1. UI-Based Configuration (No YAML Needed)

You can now add and configure RS-WFIREX4 devices directly from
Settings → Devices & Services → Add Integration.
No more configuration.yaml editing required.


2. Device-Level Grouping of Entities

Sensors and the remote entity are now grouped under a single device entry:

  • Temperature
  • Humidity
  • Light (Illuminance)
  • Reliability
  • Remote (IR control)

This provides a much cleaner and more organized device overview.


3. Automatic Recovery from IP Address Changes

If your router assigns a new IP address to the device, the integration:

  • Detects the change
  • Updates the config entry automatically
  • Keeps the entity available without requiring re-setup

This eliminates many “device unavailable” issues.


4. More Reliable Sensor Updates

Powered by Home Assistant’s DataUpdateCoordinator:

  • Stable and consistent updates
  • Improved error handling
  • Fewer warnings and connection errors in logs

5. Cleaner Entity Names & IDs

  • Entity names now follow a friendly format like
    “Living Room Temperature”, “Living Room Light”, etc.
  • Entity IDs are generated consistently
  • Avoids conflicts with existing entities

6. Improved Device Information

Device Info now correctly displays:

  • Manufacturer: RATOC Systems
  • Model: WFIREX4
  • Unique identifier based on MAC address

🛠 Other Improvements

  • Better handling of temporary network failures
  • Accurate support for temperature/humidity offsets
  • Updated codebase for future HA compatibility

⬆️ Update Recommended

Users of previous versions are strongly encouraged to update for improved reliability and ease of use.


GitHub リリースノート(日本語)

🎉 RS-WFIREX4 統合 – 大幅アップデート

本バージョンでは RS-WFIREX4 の使い勝手が大きく向上しました。
構成方法、デバイス表示、センサー更新の信頼性などが改善されています。


新機能

1. UI からの設定が可能に(YAML 不要)

Home Assistant の
設定 → デバイスとサービス → 統合の追加
から RS-WFIREX4 を追加できるようになりました。

configuration.yaml に記述する必要はありません。


2. デバイスごとにセンサーとリモートをまとめて表示

1つの RS-WFIREX4 デバイス配下に以下がまとまります:

  • 温度センサー
  • 湿度センサー
  • 照度センサー
  • 信頼度センサー
  • 赤外線リモート

UI がすっきりし、デバイスの状態が見やすくなりました。


3. IP アドレス変更時に自動復旧

DHCP により IP が変わった場合でも:

  • 自動検出
  • 設定エントリを自動更新
  • 再設定不要で継続動作

“デバイスが利用できません” の問題が減ります。


4. センサー更新の信頼性向上

Home Assistant の DataUpdateCoordinator を採用し:

  • センサー値の更新が安定
  • エラー発生時も自動再試行
  • ログの警告が減少

5. 分かりやすいエンティティ名と ID

  • 「リビング 温度」 のような分かりやすい名前に
  • entity_id の衝突を避ける仕組みに改善
  • UI 上で整理されて表示

6. Device Info の改善

以下の情報が正しく表示されます:

  • メーカー:RATOC Systems
  • モデル:WFIREX4
  • MAC アドレスベースの一意識別子

🛠 その他の改善

  • 一時的な接続エラーの処理を改善
  • 温度・湿度オフセットの調整に対応
  • 将来の HA バージョンに向けた内部コード整理

⬆️ アップデート推奨

以前のバージョンを使用している場合、本アップデートを強く推奨します。
安定性と使い勝手が大幅に向上しています。

Version 2024.4.0

09 Apr 13:45

Choose a tag to compare

  • Fix deprecated constants of Home Assistant 2022.5
  • Use _attr_* properties for simply coding
  • CI fixes

Full Changelog: 2023.6.0...2024.4.0

Version 2023.6.0

25 Jun 05:49

Choose a tag to compare

Version 2022.7.0

30 Jun 08:13

Choose a tag to compare

  • Remove loop=loop from asyncio.wait

Version 2022.2.1

11 Feb 07:11

Choose a tag to compare

  • Do not block other processing when setting up this component.

Version 2022.2.0

07 Feb 14:51

Choose a tag to compare

  • don't pass in loop to async_timeout