Skip to main content

An interface to control ModerForms smart fans

Project description

Modern Forms smart fan interface

Modern Forms has a collection of cloud connected Wi-Fi smart fans. They can be controlled via their app, but they also support local control. This project is an interface to control their fans locally via the REST API on the fan.

All aspects of the fan and option light kit can be controlled.

The REST API of the fan is unpublished. It was mapped out using a packet capture and interactions with their app. Since the manufacturer was unwilling to publish the API it is subject to change and break at any time.

Invocation

Import into your code and create a ModernFormsFan object

import modernforms
fan = moderforms.ModernFormsFan('192.168.1.10', 5)

Constructor takes 2 arguments. The IP or hostname (if you DNS registered your fan) and the timeout for communicating with the fan.

The timeout is optional and has a default value of 5.

Fan Control

The fan has 3 attributes to control:

  • fan_on
  • fan_speed
  • fan_direction
>>> fan.fan_on
False
>>> fan.fan_on = True
>>> fan.fan_on
True

Light Control

The light kit has two attributes to control:

  • light_on
  • light_brightness
>>> fan.light_on
False
>>> fan.light_on = True
>>> fan.light_on
True

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

modernforms-0.1.5.tar.gz (3.6 kB view hashes)

Uploaded source

Built Distribution

modernforms-0.1.5-py3-none-any.whl (16.6 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page