Skip to content

kyle-seongwoo-jun/homebridge-navien-smart

Repository files navigation

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