Coder Social home page Coder Social logo

eq3btsmart's Introduction

"Buy Me A Coffee" hacs_badge

EQ3 Bluetooth Smart Thermostat

A modernized temporary replacement for the native Home Assistant component.

Home Assistant Forum Post

Installation

Option 1: HACS Link

  1. Click Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.
  2. Restart Home Assistant

Option 2: HACS

  1. Or HACS > Integrations > > Custom Repositories
  2. Repository: paste the url of this repo
  3. Category: Integration
  4. Click Add
  5. Close Custom Repositories modal
  6. Click + EXPLORE & DOWNLOAD REPOSITORIES
  7. Search for dbuezas_eq3btsmart
  8. Click Download
  9. Restart Home Assistant

Option 2: Manual copy

  1. Copy the dbuezas_eq3btsmart folder inside custom_components of this repo to /config/custom_components in your Home Assistant instance
  2. Restart Home Assistant

Adding devices

  1. Go to Settings > Integrations
  2. Either wait for automatic discovery,

image

image

or click + ADD INTEGRATION and search for dbuezas_eq3btsmart

image

  1. Addition will succeed immediately, so give the entity some minutes to connect to the thermostat

Pairing issues

See here https://github.com/rytilahti/python-eq3bt#pairing

Device entities

image

Setting schedules

The internal schedules of the Auto mode can be set via a service

image

Viewing schedules

There is a button to fetch the schedules from the thermostats. These are shown as attributes of that button.

image

Device options

Most notably, you can select a specific bluetooth adapter, or limit to local ones.

image

Differences with the original component:

  • It works in HA version > 2022.7
  • Support for BTProxy thanks to @ignisf (make sure you configure active: true in the BTProxy).
  • Supports auto discovery
  • Supports adding via config flow (UI)
  • Fixes setting operation mode
  • Allows to turn off by setting temp to 4.5°
  • Retries (10 times) when you change a thermostat attribute.
  • [x] Push instead of Pull. It updates on bluetooth advertisement instead of polling every x minutes (seems to generate less unsuccessful tries)
  • Connections are persistent (this may or may not reduce the battery life, but it makes the thermostats more responsive)
  • Fully uses asyncio (less resource intensive)
  • Current Temperature updates immediately, regardless of when the bluetooth connection is made. The component will apply the change as soon as it can connect with the device.
  • Service to fetch heating schedules and serial inside the thermostat
  • Only one concurrent request per thermostat
  • Service to set the heating schedules
  • [ ] Support for installing via yaml
  • [ ] Support pairing while adding entity
  • All features of the thermostat are exposed as entities
  • Bluetooth adapter, scan interval, etc are configurable.

Previous Art

This is heavily based on https://github.com/rytilahti/python-eq3bt and https://github.com/home-assistant/core/tree/dev/homeassistant/components/eq3btsmart and it should ideally be two PRs instead. Unfortunately, the changes go too deep and remove support for the CLI and other backends. Therefore, here's a self contained custom component instead.

eq3btsmart's People

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.