Skip to main content

AC Infinity Controller 69 Pro command-line and API

Project description

About

This software provides basic CLI and API functionality for controlling a single fan and reading sensor values from the AC Infinity Controller 69 Pro.

Install

pip install acinf

This script was authored for python 3.10 and Linux, but other python versions and operating systems may work.

Usage

If everything is installed correctly, command acinf should have the following output:

$ acinf
usage: acinf [-h] [--log-level {debug,info,warning,error}] mac_address {get,set} [value]
acinf: error: the following arguments are required: mac_address, action

To set fan level to 5 use command for example MAC address DE:AD:BE:EF:CA:FE:

acinf DE:AD:BE:EF:CA:FE set 5

To show all values to stdout in json format:

$ acinf DE:AD:BE:EF:CA:FE get
{
    "temperature_c": 18.56,
    "temperature_f": 65.408,
    "humidity": 70.03,
    "vpd_kpa": 0.61
}

To retrieve just a single value as ASCII float to stdout, combine get with any of the following values temperature_c, temperature_f, humidity, vpd_kpa:

$ acinf DE:AD:BE:EF:CA:FE get temperature_f
65.408

MAC address

To determine the MAC address of your AC Infinity controller on Linux, ensure the bluetooth package is installed and execute bluetoothctl, then, command scan on, examine devices marked ‘NEW’, or, enter command devices.

AC infinity controllers are marked ‘ACI-E’, as in the example below:

linux# bluetoothctl
Agent registered
[CHG] Controller 00:11:22:33:44:66 Pairable: yes
[bluetooth]# scan on
Discovery started
[CHG] Controller 00:11:22:33:44:66 Discovering: yes
[NEW] Device AB:CD:EF:AB:CD:EF AB-CD-EF-AB-CD-EF
[NEW] Device DE:AD:BE:EF:CA:FE ACI-E
[NEW] Device AB:CD:EF:AB:CD:FF AB-CD-EF-AB-CD-FF

Pairing

If you haven’t previously paired with your device, do that now. Press and Hold the bluetooth button on the controller until it begins flashing, then, enter bluetoothctl command, pair DE:AD:BE:EF:CA:FE.

About

This software is not affiliated with AC Infinity. AC Infinity is a trademark of AC Infinity Inc. This software is not guaranteed to work with any particular AC Infinity product. It is not guaranteed to work at all. Use at your own risk.

Caveats

  • Although 4 fans may be connected to the controller, this software only supports controlling a single fan.

  • Do not execute more than 1 of these processes at a time. All ‘get’ and ‘set’ commands are failed if they exceed 1 minute, and so any scheduled execution of this command should be limited to approximately once per 2 minutes.

  • This API and software has a very slow startup time, because it reconnects to the bluetooth device each time. Although it is possible to re-use a connection, I found persistent connections to be unreliable over long durations.

  • Errors may often report to stderr, about timeout or failure to discover or connect, especially for long receiver distances, but all get or set operations are automatically retried for a full minute before failure.

Contributing

This project is not very serious, if you wish to expand it for more features and devices, consider making a pull requests and becoming a co-maintainer and feel free to fork. Thanks, enjoy, and best wishes!

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

acinf-0.0.2.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

acinf-0.0.2-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file acinf-0.0.2.tar.gz.

File metadata

  • Download URL: acinf-0.0.2.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for acinf-0.0.2.tar.gz
Algorithm Hash digest
SHA256 5181042fbadddc4a086174bb5d83f5e996d75a6a0368599ce89f253196b7833e
MD5 dd4a2ee319e58afe45d781f1deee6003
BLAKE2b-256 5430365c507ff2b14e38562bd64f1ce1e48235e9414b07f6cf138deb69b638ed

See more details on using hashes here.

File details

Details for the file acinf-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: acinf-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for acinf-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 614b78d9e55ee96b9e4912a9961169e06b01b50c08d7c46ef39685cbb71a8378
MD5 fee1684ea6506d4896bdede0758eaa44
BLAKE2b-256 51eda4d4f472f7e79125da16423a7247ba12eff9155b8eb7107a49db4c8d978a

See more details on using hashes here.

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