Giter Site home page Giter Site logo

k3vmcd / ha-tirelinc Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 31 KB

Home Assistant custom integration for TireLinc TPMS

License: MIT License

Python 100.00%
bluetooth-low-energy hacs hacs-integration home-assistant homeassistant homeassistant-custom-component lippert rv tire-pressure tpms tirelinc

ha-tirelinc's Introduction

GitHub Release License hacs

Home Assistant TireLinc Integration

Integrates TireLinc TPMS (https://www.lippert.com/rv-camping/collections/tire-linc) to Home Assistant using active connection to get information from the sensors.

Current Limitations:

  • You MUST successfully pair the tires to the central TireLinc repeater using the manufacturer device before data will be received by this integration. The tires report their sensor data on the 433MHz band and the central repeater unit translates that into the Bluetooth signal required by this integration. This integration will NOT read the 433MHz data directly.
  • Your personal tire sensor ID numbers need to be added to ./tirelinc/const.py. These need to be discovered using the nRF Connect app on a mobile device. Open the app, press the "Connect" button on the TireLinc entry, tap "Unknown Service" to expand the entry, then press the triple arrows on the top entry for Characteristic 00000002-00b7-4807-beee-e0b0879cf3dd to subscribe to notifications. When that completes, swipe right to reveal the logs. Your tire sensor ID numbers will be the values in the four bytes after the 02 or 00. For example, for a line that begins 00-0E-FF-47-02, enter 0E-FF-47-02 as the tire sensor ID in ./tirelinc/const.py. The tires will report in order from 1-4 for both the 02 and the 00 prefix. Enter into ./tirelinc/const.py in the same order to match to the tire locations below.
  • Scans 4 tires only. May throw errors with 2 tires and currently will not scan 6 tires. (The user may manually adjust the code to edit the number of tires scanned by editing ./sensor.py, ./tirelinc/const.py, and ./tirelinc/parser.py).
  • Code that could possibly expose the configured alert thresholds is currently unused and will not expose these sensors (unless user manually adds the sensors with additional edits to sensor.py). It is left in there to decode what was discovered in reverse engineering the hex data bytes. These thresholds - min/max pressure, max temperature, and max temperature change alerts - are configured in the manufactuerer device. The expectation of this integration is the user would configure native Home Assistant automations and set their own, separate thresholds within Home Assistant and therefore these manufacturer data would be irrelevant/confusing.
  • There is a known issue with polling frequency. During testing, the polling interval is shown to be quite random and range from 3 minutes up to more than 1 hour in between updates.
  • The TireLinc system regularly "loses" sensors and it is not possible for this integration to correct this shortcoming. Usually the TireLinc system should update every 15 minutes when stationary and every 5 minutes when moving. However, sometimes specific sensors do not report in until they move, and even then their update frequency is not always a consistent 5 minute interval. Potentially this is related to signal/noise ratio between the tire sensors and the central repeater. Yet, for the developer, this integration is shown to be more reliable than the manufacturer unit to report the most current data the central repeater has on each tire.

Exposes the following sensors:

  • Tire 1 Pressure
  • Tire 1 Temperature
  • Tire 2 Pressure
  • Tire 2 Temperature
  • Tire 3 Pressure
  • Tire 3 Temperature
  • Tire 4 Pressure
  • Tire 4 Temperature

In a 4 tire setup, the tire locations will be:

  • Tire 1: Front Left
  • Tire 2: Rear Left
  • Tire 3: Front Right
  • Tire 4: Rear Right

Installation

Easiest install is via HACS:

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

HACS -> Explore & Add Repositories -> TireLinc

The device will be autodiscovered once the data are received by any bluetooth proxy.

If you are using an ESPHome device to connect to TireLinc, ensure you have it configured with:

bluetooth_proxy:
  active: True

and, as the ESPHome docs suggest to improve RAM management:

  framework:
    type: esp-idf

ha-tirelinc's People

Contributors

k3vmcd avatar bkbilly 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.