Modern Forms Smart Fans - Integration

Where I can modify the polling frequency ?

thank,

I find
SCAN_INTERVAL = 10
in the init.py file.

I’ll put 30 seconds and try this.

Everything works fine, with the 30.

Thank you very much !

Anyone having problems with the integration not connecting to fans?

Logger: aiohttp.server
Source: /srv/homeassistant/.venv/lib/python3.13/site-packages/aiohttp/web_protocol.py:481
First occurred: 9:37:16 AM (1 occurrence)
Last logged: 9:37:16 AM

Error handling request from 10.0.1.110
Traceback (most recent call last):
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/aiohttp/web_protocol.py", line 510, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/aiohttp/web_app.py", line 569, in _handle
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/homeassistant/components/http/security_filter.py", line 92, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/homeassistant/components/http/forwarded.py", line 83, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/homeassistant/components/http/request_context.py", line 26, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/homeassistant/components/http/ban.py", line 86, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/homeassistant/components/http/auth.py", line 242, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/homeassistant/components/http/headers.py", line 41, in headers_middleware
    response = await handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/homeassistant/helpers/http.py", line 73, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/homeassistant/components/http/decorators.py", line 81, in with_admin
    return await func(self, request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/homeassistant/components/config/config_entries.py", line 233, in post
    return await super().post(request, flow_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/homeassistant/components/http/data_validator.py", line 74, in wrapper
    return await method(view, request, data, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/homeassistant/helpers/data_entry_flow.py", line 121, in post
    result = await self._flow_mgr.async_configure(flow_id, data)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/homeassistant/data_entry_flow.py", line 336, in async_configure
    result = await self._async_configure(flow_id, user_input)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/homeassistant/data_entry_flow.py", line 383, in _async_configure
    result = await self._async_handle_step(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        flow, cur_step["step_id"], user_input
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/homeassistant/data_entry_flow.py", line 487, in _async_handle_step
    result: _FlowResultT = await getattr(flow, method)(user_input)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/homeassistant/components/modern_forms/config_flow.py", line 39, in async_step_user
    return await self._handle_config_flow()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/homeassistant/components/modern_forms/config_flow.py", line 74, in _handle_config_flow
    device = await device.update()
             ^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/backoff/_async.py", line 151, in retry
    ret = await target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/aiomodernforms/modernforms.py", line 96, in update
    info_data = await self._request({COMMAND_QUERY_STATIC_DATA: True})
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/backoff/_async.py", line 151, in retry
    ret = await target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/homeassistant/.venv/lib/python3.13/site-packages/aiomodernforms/modernforms.py", line 139, in _request
    with async_timeout.timeout(self._request_timeout):
         ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'Timeout' object does not support the context manager protocol

error appeared after updating home assistant to either 2025.5.2 or 2025.5.3

I had this problem upgrading to 2025.6.0. Turns out its has to do with something to do with the integration of Honeywell. If you disable your Honeywell integration and reboot, you can add the WAC fan back. Problem is… when you turn on Honeywell again. It can’t find my WAC fan again.

This Modern Forms integration hasn’t been updated for a while. Home Assistant now has a built-in implementation so I don’t think this will ever get any further updates. I submitted an issue for the HA core implementation with problems we discovered here and hopefully they’ll address.

One of my fans started dropping off, I think after I recently did a firmware upgrade I think a month ago? I disabled polling on the devices in the HA UI and then setup an automation:

alias: Polls Modern Forms Ceiling Fans
description: >-
  Updates Modern Forms entities every 30s. Make sure 'Enable polling for
  changes' is OFF in the integration.
triggers:
  - seconds: /30
    trigger: time_pattern
conditions: []
actions:
  - target:
      entity_id:
        - fan.bedroom_fan_fan
        - fan.living_room_fan_fan
    action: homeassistant.update_entity
    data: {}
mode: single

Then in configurations.yaml:

recorder:
  purge_keep_days: 365
  auto_purge: true
  exclude:
    entities:
      - automation.polls_modern_forms_ceiling_fans   # exclude the polling automation

This stops DB bloat from automation running every 30 seconds.

I am also going to install shelly relays on both of my fans this weekend to create an automation if they go unavailable then the relay cuts power off and back on to make the fans reconnect to wifi. Will keep the REST reboot command running every 4 hours as preventative maintenance. Tired of this issue.

1 Like

Exact same problem !