Git Product home page Git Product logo

hass-infinitive's Introduction

Infinitive Integration for Home Assistant

hacs_badge

Hey! This integration started when I purchased a new home. It's HVAC is a Bryant unit. Sure enough, I bought a house with one of the 5% of units that isn't compatible with Nest thermostats, or any other type of smart thermostat for that matter. The Bryant/Carrier units like mine use a proprietary serial protocol called Infinity to communicate with the thermostat. I started my research on potential options for automation and found the Infinitive project. I had wanted to dig deeper into python so an HA integration with Infinitive seemed like the perfect opportunity. Below are the steps to get you started...

Installation Steps:

  1. Buy a Raspberry Pi (Don’t forget to get a micro SD card for it). I'm running mine on a Pi Zero with no issues. Here's the Pi Zero I purchased
  2. Buy a RS-485 USB adapter 11 for the Raspberry Pi. Here's the RS-485 USB adapter I purchased
  3. Buy some wire. I think 14/2 romex wire is what I used. You should be able to pick it up at your local hardware store. You need enough to reach from your HVAC unit system board to the location of your RS-485 adapter.
  4. Flash the latest Lite version of Raspbian to your SD card - Try Belana Etcher if you need an application that can write the Raspbian image to the SD card.
  5. Setup Raspbian install to have a static IP on your network.
  6. Once the Pi is on your network, running the folowing:
sudo apt-get install git golang-go
sudo mkdir /opt/go
export GOPATH=/opt/go
cd /opt/go
sudo go get github.com/Will1604/infinitive
sudo go build github.com/Will1604/infinitive
  1. Place this file at /etc/systemd/system/infinitive.service: Note: if your RS-485 adapter does not show up as /dev/ttyUSB0 please adjust the file below to reflect the proper device name
[Unit]
Description=Infinitive Service
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=root
ExecStart=/opt/go/infinitive -httpport=8080 -serial=/dev/ttyUSB0
[Install]
WantedBy=multi-user.target
  1. After the infinitive.service file has been created run the following:
sudo systemctl enable infinitive
sudo systemctl start infinitive
  1. Run sudo systemctl status infinitive to ensure that the service is running.
  2. If all went well you should be able to browse to http://[rasbperry_pi_IP]:8080 and be presented with the Infinitive web interface.

PLEASE KILL POWER TO YOUR HVAC UNIT WHILE YOU'RE WORKING ON IT.

  1. Using the thermostat wire, connect one end to the RS-485 adapter as shown in the pictures below.
  • Green wire connects to the A port on the HVAC system board and to left T/R port on the serial adapter
  • Yellow wire connects to the B port on the HVAC system board and to Right T/R port on the serial adapter Carrier/Bryant system board Pi RS-485 adapter connection RS-485 adapter detail

POWER CAN BE TURNED BACK ON TO THE HVAC UNIT FOR TESTING

  1. At this point you can check the Infinitive web interface and ensure that it's populating with the data. If it's not please reach out and I'll try to help where I can.

  2. Install and setup HACS if you don't already have it. Here's a link to the HACS Install Process.

  3. Open the HACS page in Home Assitant, click the Settings tab.

  4. Add https://github.com/mww012/hass-infinitive.git as an integration under Custom Repositories.

  5. Click the Integrations tab and search for "infinitive". Click on the Infinitive integration, then click Install.

  6. Add this to your configuration.yaml and restart:

climate:
  - platform: infinitive
  host: [Raspberry Pi IP]
  port: 8080
  1. Restart Home Assistant.

  2. Your HVAC unit should show up in Home Assistant with entity_id climate.infinitive_thermostat. Good job!

If any problems arise please feel free to open an issue.

hass-infinitive's People

Contributors

mww012 avatar pfiggins avatar seantibor avatar strikeir13 avatar tcinubkxfamy avatar tjdavisbz avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.