Modern Forms Smart Fans - Integration

Answers to the above questions (to the best of my knowledge!):

  • When I do a factory reset can I expect that the fan will unpair from my wifi network and return to “access point” mode (announcing a name like ModernFormsFan_xxxxxx)? ==> Yes
  • Am I better off using the vendor app “properly” (create a login, fully use the phone app) or can I get away with doing equivalent things via curl POSTs? It seems the main need is to join the fan to my home wifi and from what I’ve seen there is a curl command (described here: Modern Forms fan IP control - cmb) that would accomplish this task.
  • Once the fan is joined to my wifi network how do I update the fan’s firmware? My guess is with the phone app – but does this then require a modernforms account? ==> I installed on app first (so I could update firmware, etc.) then run though HA
  • Does anyone know if the manual “join wifi network” curl command still works with recent firmware versions? My up-to-date fans are running version 02.00.0026. ==> I have not used this approach so I do not know

I can’t find a better place to ask so I’m going to ask here and maybe someone will help me out.

  1. Is the Modern Forms official integration fully local? Is it using WiFi for local? Or is it cloud based?

  2. If fully local, can I use it just as another device? As in set up timers and other automation based on the entities it finds? Sorry, still very new at HA.

  3. Is there a delay between using HA and the fan receiving the command? I saw that there was a 60 second delay, I don’t want that.

Thanks!

I don’t believe it runs local, as the one fan I have with this integration loses cloud connection and then loses connection to Home Assistant at the same time. It tends to happen every couple months and just has to be powered off and on at the switch.
Reaction time to Home Assistant commands are fast for me, one second or so. It also works in automations.

Thank you.

Can anyone else please confirm that there is no local option for the Modern Form integration?

It’s fully local.

1 Like

That’s good to know. I guess when my fan loses cloud connection it’s losing signal completely. A bit irritating since it’s 20 feet from my router, but it’s easy enough to kill the power and turn it back on.

Just tested the Modern Forms Integration by disconnecting router from the internet, and I still have full local control over wi-fi. My response time when sending on/off commands is less than one second.

I like that the fan doesn’t beep when changing speeds via HA as it does when using the vendors remote. I have an automation in Node Red that sets the fan speed as soon as it’s turned on based on the temperature range of other sensors in HA. My fan has 6 speeds that you set as a percentage (16,33,50,66,83,100). The fan entity does have an option to reverse the rotation.

The other entities automatically created are for “Adaptive Learning” and “Away Mode”. There’s also 2 additional entities that are either “Unknown” or “Unavailable”, which are “Fan Sleep Time” and “Fan Sleep Timer Active”.

I don’t see any way to update the firmware in HA, so that would need to be done initially via their cloud app. For the cloud app you can either create an account or use Google, Apple or Facebook Authentication.

I really like these fans and would purchase more as the need arises.

If you read back through this thread, you’ll find out that you are not alone with the MFFs locking up after a period of time. It appears as if it’s a wide-spread issue.

It has gotten better with my fans over the last 9 or so months, which I attribute to the firmware updates, as well as apparently very well written HA core integration.

1 Like

When I first got the fan the remote and HA controls worked fine. But something happened now I can’t use the physical remote any more. It seems like WAC wants me to power cycle the fan to repair the remote.

But I don’t really want to turn the circuit off outside to do that. Anyone know another way?

Unpairing it by holding the light + and the fan + then repairing it by holding the light button and the fan button does not work.

Are you saying that your fan doesn’t have a physical wall switch to simply turn off and then back on?

Curious how stable this integration is… anyone provide an update on if restarts are still required? Is it on the fan side or HA?

100% stable now. I haven’t had issues for the past two years and I have 4 fans.

1 Like

I have been using this for over six months now with two fans.

Disconnecting several times. The last one kept disconnected for several hours and required powering off the fan.
It has nothing to do with the integration. It simply loses wifi connection. Signal is not that strong but what can you expect when the fan wifi is in a metal enclosure?

image

I own two of WAC’s smart fans. I specifically purchased these for their smart capabilities as I read they work well with Home Assistant via the Modern Forms integration. After installing them, I encountered an issue where the fan connects and everything works fine for about a week, and then stops responding and appears offline. The fan is still connected to my WiFi (I can see it on my router) but it won’t respond to pings or commands to operate the fan. I had to shut off the power to the fan for a few seconds and turn it back on to force it to reboot, and then the fan will come back online and will work perfectly fine for about another week. Both of my fans did this same thing at random times, so I know it’s a firmware issue and not something with my network. Working with support was tedious. It took 8 months and 73 emails but finally the issue has been resolved by way of them releasing a firmware update around March 2024. The fans have now been stable and I am pleased with them again. If anyone is still having issues with them, make sure your firmware on the fan is up to date.

3 Likes

TLDR: No more network disconnects… Thank you

I can’t believe I finely found the answer to solve this issue where my MF fans drop wifi and needi to be rebooted daily…

I got a instant dopamine release when I plugged this code into my YAML file and ran the RESTful command and saw my fans disconnect & reconnect to the network.

Thank you guys so much… You have no idea how many hundreds of google searches I’ve done regarding this issue.

I have no idea what update the guy above me got but my MF fans have been disconnecting for years and no updates have come close to fixing it. Currently I’m on Firmware Version: 20.00.0040

Here is the code I’m running in July 2024

configuration.yaml :

rest_command:
  reboot_mf_lr_fan:
    url: "http://192.168.50.10/mf"
    method: POST
    headers:
      content_type: "application/json; charset=utf-8"
    payload: '{"reboot": true}'

automations.yaml:

alias: Reboot MF Fans
description: ""
trigger:
  - platform: time_pattern
    hours: /8
condition: []
action:
  - service: rest_command.reboot_mf_lr_fan
    data: {}
mode: single

I also had to disable “polling for updates” under system options for each fan in the UI and make an automation to poll each fan every 5 minutes.

automations.yaml:

alias: "Homeassistant Polling: Moderforms Fans"
description: Custom poll interval.
trigger:
  - platform: time_pattern
    minutes: /5
condition: []
action:
  - action: homeassistant.update_entity
    metadata: {}
    data:
      entity_id:
        - fan.living_room_fan
        - fan.master_bedroom_fan
        - fan.guest_bedroom_fan
mode: single

And as a bonus…
Incase anyone is also looking for an answer to Modern Forms Breeze Mode through Home Assistant, I found that too.

Breeze Mode On:

  breeze_on_mf_lr:
    url: "http://192.168.50.10/mf"
    method: POST
    headers:
      content_type: "application/json; charset=utf-8"
    payload: '{"wind": true}'

Breeze Mode Off:

  breeze_off_mf_lr:
    url: "http://192.168.50.10/mf"
    method: POST
    headers:
      content_type: "application/json; charset=utf-8"
    payload: '{"wind": false}'

Ah! This cleared up my code. However, I still am having problems putting this into a restful toggle switch to turn Breeze Mode on and off. Do you have any suggestions for this? Thanks!

I’ve tried making a RESTfull Switch according to the documentation but I can’t get the entity to show up if my life depended on it.

Hopefully someone else can help us there.

OK, so I have completed a toggle that turns “Wind Mode” “On” and “Off” for the Modern Forms fan. It ain’t pretty but it works. Several site-specific changes have to be made:

  1. You have to create specific Yaml code for each fan in your home because I hard-coded each fan’s IP address.
  2. The card component I use is custom:button-card, so if you do not have that installed (hacs installed) you will have to come up with the switch or button component on your own.

This change is cosmetic:
3) For a more seamless button appearance, I use card_mod. This is NOT needed for functionality.

Here is the code to add to your Yaml code in the location that makes the most sense for you. For clarity, I will pretend it is in configuration.yaml. This version looks for the fan at IP: 192.168.20.11. Change this to reflect the respective IP for your fan. Also change the switch name to reflect your environment. The command_line switch looks like this:

command_line:
  - switch:
      name: "windmode_paul_office"
      command_on: curl -d '{"wind":true}' -X POST http://192.168.20.11/mf
      command_off: curl -d '{"wind":false}' -X POST http://192.168.20.11/mf

Next add the button using a custom:button-card in a vertical grid with other components. For my use, I hard-coded colors so “Off” would look greyed out and “On” (wind mode) would be light blue. Here is the entity information:

      - type: custom:button-card
        entity: switch.windmode_paul_office
        name: Windy Mode
        layout: icon_name_state
        size: 15%
        styles:
          icon:
            - color: >
                [[[ if (entity.state == "on") return "#01A9F4" ; else return
                "#7F7F7F"; ]]]
        state:
          - value: 'off'
            icon: mdi:scent-off
          - value: 'on'
            icon: mdi:weather-windy

I used card_mod to remove the button border. The card _mod changes are TOTALLY optional and a cleaner look can be accomplished in other ways.

        card_mod:
          style: |
            ha-card {
              border-bottom: 0px;
              margin-bottom: -10px;
              border-top: none;
              border-bottom: none;
              border-left: none;
              border-right: none;
              }

My Fan & Fan Light with the “Windy” button:

WindMode

Paul