Skip to main content

A library to interface with Genvex Connect enabled ventilation units.

Project description

GenvexNabto

Library for local interfacing with HVAC systems running Genvex Connect or Nilan gateways. These systems are typically cloud-accessible, but after extensive development, a local solution is now available.

Supported controller models

Controller Gateway required Supported Tested
Optima 250 Yes, internet gateway
Optima 251 Yes, internet gateway
Optima 260 Yes, internet gateway
Optima 270 Built in
Optima 301 Yes, internet gateway
Optima 312 Yes, internet gateway
Optima 314 Built in
Nilan CTS400 Yes, nilan gateway
Nilan CTS602 Yes, nilan gateway
Nilan CTS602 Light Yes, nilan gateway
Nilan CTS602 Geo Yes, nilan gateway

For controllers that require a gateway, it is mandatory that the device supports Modbus. Note that Optima controllers delivered before 2014 may not have Modbus support.

How the libary works

Both Genvex Connect and Nilan gateways use the proprietary "Micro Nabto" protocol. Information about this protocol is limited, with most official documentation being removed from the internet following the companies' release of "Nabto Edge," which is largely incompatible with the older "Micro Nabto."

Typically, users connect via a dedicated app. The app loads a large, 6MB+ closed-source binary client for Nabto communication. A major limitation is that the binary is only available for Win32, Linux, Mac, Android, and iOS. There are no generic Linux ARM binaries, meaning implementing a Home Assistant custom component with these binaries would exclude widely used platforms like the Raspberry Pi.

The binary scans for available gateways by broadcasting a UDP packet. This packet either includes a specific device identifier or a wildcard (*) to request a response from any gateway. Gateways that are available will reply with their unique identifier over the same UDP IP and port to which the broadcast was sent.

While the normal connection process is handled online, it is encrypted and obfuscated. Significant progress has been made in reverse-engineering the online flow, leading to the discovery of a local connection method.

The local connection flow allows for direct communication with compatible gateways, using the user's email as the password.

Obligatory statement

The contributors are not responsible for any damages resulting from the use of this libary. No warranty is provided.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

genvexnabto-1.2.2.tar.gz (29.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

genvexnabto-1.2.2-py3-none-any.whl (40.2 kB view details)

Uploaded Python 3

File details

Details for the file genvexnabto-1.2.2.tar.gz.

File metadata

  • Download URL: genvexnabto-1.2.2.tar.gz
  • Upload date:
  • Size: 29.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for genvexnabto-1.2.2.tar.gz
Algorithm Hash digest
SHA256 fce6ee50deeed8ef1f47a470742ac347bac85bd252959083ef0b74cc134eea8a
MD5 7bb814c0948bc05dbdd89242e5623dbb
BLAKE2b-256 636cddbaaa00585e8fa41bf05da0f25f29e10261b65363a1584878ab4d4804ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for genvexnabto-1.2.2.tar.gz:

Publisher: python-publish.yml on superrob/genvexnabto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file genvexnabto-1.2.2-py3-none-any.whl.

File metadata

  • Download URL: genvexnabto-1.2.2-py3-none-any.whl
  • Upload date:
  • Size: 40.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for genvexnabto-1.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 aa3eee21c9880bf96e0f689991da55ce548bd751e18e03b250493acb32c1ff7d
MD5 76ed81c2e284f5c743129aaf068d0d76
BLAKE2b-256 9b417592a0f2cb9b7b4833528f1e86fb65e7097faae962485a54559d40438200

See more details on using hashes here.

Provenance

The following attestation bundles were made for genvexnabto-1.2.2-py3-none-any.whl:

Publisher: python-publish.yml on superrob/genvexnabto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page