Skip to main content

Controls and shows status of Carrier Infinity and Bryant Evolution HVAC systems.

Project description

finitude

Finitude decodes the ABCD bus (RS-485) used by Carrier Infinity and Bryant Evolution HVAC systems. It runs two webservers: one serves HVAC /metrics in a format that can be queried by Prometheus, a time series database. Prometheus is a backend for Grafana visualizations/dashboards.

The other webserver is optional. It stores all the WRITE and ACK06 frames seen on the ABCD bus and dumps them as JSON. The functions in analysis.py can then be used to help find meaning in the frames.

Why?

An HVAC system consumes a lot of energy. You might want to know how hard it's working, how often it's running, whether it's running when your windows are open...

Carrier's apps are crappy and they no longer even have a functioning webapp. Plus it's nice to be able to monitor your equipment without relying on connectivity to Carrier's servers.

Carrier's SAM module provides significant information about the modes of the system. But it does not report the state of the system: when heating and cooling are actually operating, the current fan speed, the zones to which the dampers are directing airflow, etc.

How?

To start with, you'll need an RS-485 adapter that can attach to the wires of Carrier's ABCD bus. If you have a Raspberry Pi or some other computer near one of the Carrier devices, you can use a USB RS-485 adapter. If you don't have a nearby computer but you do have Ethernet near one of the Carrier devices, you can use an Ethernet RS-485 bridge.

You can install finitude from PyPI using pip:

pip install finitude

Soon you'll be able to install an image from Docker Hub. But not yet.

Based On

  • https://github.com/3tones/brybus -- This is unmaintained since 2014, but it's simple so that's where I started.

  • https://github.com/nebulous/infinitude -- This doesn't focus on RS-485; instead it proxies the thermostat's network traffic to/from Carrier's servers and intercepts/modifies the data stream. It also has an RS-485 parser as a sidelight. If it weren't written in Perl I might have started there. Props to nebulous for continuing to support this.

  • https://github.com/acd/infinitive -- This is unmaintained since 2018, but the Go code is clear and there is still an active user community. It does focus on RS-485. It doesn't support multi-zone systems and some of its info fields are only populated by legacy heat pumps.

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

finitude-0.1.1.tar.gz (26.6 kB view details)

Uploaded Source

Built Distribution

finitude-0.1.1-py3-none-any.whl (27.0 kB view details)

Uploaded Python 3

File details

Details for the file finitude-0.1.1.tar.gz.

File metadata

  • Download URL: finitude-0.1.1.tar.gz
  • Upload date:
  • Size: 26.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.7.3

File hashes

Hashes for finitude-0.1.1.tar.gz
Algorithm Hash digest
SHA256 fa4d3d745ec480e5c996d3eb706cbc21d1f74bc9f2392208f68fe3615853de55
MD5 a9df31d7125977afacbbe8c6086bb5ef
BLAKE2b-256 b05579c1f57284076d25220d8afd26aa2b78ccbb423e586408f3b014fb492e27

See more details on using hashes here.

File details

Details for the file finitude-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: finitude-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 27.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.7.3

File hashes

Hashes for finitude-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4481d2e0c2f84ea155fe1143b9514ea0bfaa72c210a0c23ea69a5e902e4f0bd0
MD5 9e4776704684b28e7860d635d3d512b9
BLAKE2b-256 ba909b7bd07d484099ea46bd9c9af73e1c9ef0ae2f5dc60effd3db7d0e2f286b

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