Git Product home page Git Product logo

homebridge-navien-smart's Introduction

Homebridge Navien Smart

πŸ‡ΊπŸ‡Έ English Version | πŸ‡°πŸ‡· ν•œκ΅­μ–΄ 버전

Overview

demo

Homebridge plugin to control Navien devices via Navien Smart.

A plugin for interacting with the "Navien Smart" system, which can control Navien devices. API used in this plugin is not official, I reversed from their "Navien Smart" mobile app.

⚠️ Warning

This plugin is only tested with Navien EME520 (Queen size) model. It may not work with other models. If you have a different model, please open an issue to support your model.

See Implementation Status for more information.

Installation

npm i -g homebridge-navien-smart

Configuration

{
    "authMode": "account",
    "username": "<navien-smart-username>",
    "password": "<navien-smart-password>",
    "accessoryType": "HeaterCooler",
    "platform": "NavienSmart"
}
{
    "authMode": "token",
    "username": "<navien-smart-username>",
    "refreshToken": "<navien-api-refresh-token>",
    "accountSeq": 12345678,
    "accessoryType": "HeaterCooler",
    "platform": "NavienSmart"
}
Key Description
authMode Required. You can choose between token and account
username Required. Navien Smart account
password Required if authMode = account. Navien Smart password
refreshToken Required if authMode = token. You can get it with navien cli.
accountSeq Required if authMode = token. You can get it with navien cli.
accessoryType Required. You can choose between HeaterCooler and Thermostat
platform value always NavienSmart

If you don't want to put your password in the config, you can use authMode = token and use refreshToken and accountSeq instead.

You can get refreshToken and accountSeq with navien cli. See CLI Usage.

Implementation Status

Device Implementation Status Control
Boiler 🚫 🚫 🚫
EME Models βœ”οΈ βœ”οΈ βœ”οΈ
EQM Models 🚫 🚫 🚫

for more device support please open issue request.

CLI Usage

$ navien
Usage: navien <username> <password>
$ npm install -g homebridge-navien-smart
$ navien <your-username> <your-password>
Logging in with username: <your-username>, password: <your-password>
refreshToken: XXXXXXXXXXX.XXXXXXXXX.XXXXXXXXX
accountSeq: 12345678

You can copy and paste refreshToken and accountSeq to your config.

Demo

Siri (Voice Control)

siri demo

Widget (Home app / Control Center)

widget demo

homebridge-navien-smart's People

Contributors

kyle-seongwoo-jun avatar github-actions[bot] avatar

Stargazers

Tuan Duc Tran avatar  avatar Jayden avatar SpiralMoon avatar

Watchers

 avatar

homebridge-navien-smart's Issues

Migrate from Thermostat to HeaterCooler

I've noticed that our device can only be turned on through Siri by requesting it to "set to warm", not by directly asking to "turn on". This seems due to our use of the Thermostat service, which requires setting the Target Heating Cooling State to HEAT for activation. However, devices using the Heater Cooler service, with an Active characteristic for power control, respond well to direct Siri commands for both turning on and off. It appears that Siri only acknowledges the Active characteristic for such commands.

Given this understanding, I've decided to migrate our service from Thermostat to Heater Cooler to ensure full compatibility with Siri voice commands. This change will allow users to directly command our device to turn on or off using Siri, providing a more intuitive and efficient user experience.

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.