genvexnabto


Namegenvexnabto JSON
Version 1.2.3.2 PyPI version JSON
download
home_pagehttps://github.com/superrob/genvexnabto
SummaryA library to interface with Genvex Connect enabled ventilation units.
upload_time2025-01-07 21:45:59
maintainerNone
docs_urlNone
authorSuperrob
requires_python>=3.9
licenseGPLv3
keywords genvex genvex connect nabto optima 270 optima 260 optima 251 optima 250 library home automation nilan cts 602 cts 400
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/superrob/genvexnabto",
    "name": "genvexnabto",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "Genvex, Genvex Connect, Nabto, Optima 270, Optima 260, Optima 251, Optima 250, library, Home Automation, Nilan, CTS 602, CTS 400",
    "author": "Superrob",
    "author_email": "robin@robserob.dk",
    "download_url": "https://files.pythonhosted.org/packages/11/5d/b49c1ca979e701153e8b98b3024e46443215f15507dbfdcd29b513b9831a/genvexnabto-1.2.3.2.tar.gz",
    "platform": null,
    "description": "# GenvexNabto\nLibrary 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. \n\n### Supported controller models\n|Controller         | Gateway required     | Supported       | Tested  |\n|------------------:|:---------------------:|:---------------:|:-------:|\n|Optima 250         | Yes, internet gateway | \u2705              | \u2705      |\n|Optima 251         | Yes, internet gateway | \u2705              | \u2705      |\n|Optima 260         | Yes, internet gateway | \u2705              |         |\n|Optima 270         | Built in              | \u2705              | \u2705     |\n|Optima 301         | Yes, internet gateway | \u2705              | \u2705     |\n|Optima 312         | Yes, internet gateway | \u2705              |         |\n|Optima 314         | Built in              | \u2705              |         |\n|Nilan CTS400       | Yes, nilan gateway    | \u2705              | \u2705     |\n|Nilan CTS602       | Yes, nilan gateway    | \u2705              | \u2705     |\n|Nilan CTS602 Light | Yes, nilan gateway    | \u2705              |         |\n|Nilan CTS602 Geo   | Yes, nilan gateway    | \u2705              |         |\n\nFor 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.\n\n# How the libary works\nBoth 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.\"\n\nTypically, 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.\n\nThe 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.\n\nWhile 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.\n\nThe local connection flow allows for direct communication with compatible gateways, using the user's email as the password.\n\n# Obligatory statement\nThe contributors are not responsible for any damages resulting from the use of this libary. No warranty is provided.\n",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "A library to interface with Genvex Connect enabled ventilation units.",
    "version": "1.2.3.2",
    "project_urls": {
        "Homepage": "https://github.com/superrob/genvexnabto"
    },
    "split_keywords": [
        "genvex",
        " genvex connect",
        " nabto",
        " optima 270",
        " optima 260",
        " optima 251",
        " optima 250",
        " library",
        " home automation",
        " nilan",
        " cts 602",
        " cts 400"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "af9616f0645a052c76cbe1028fe7568468a1e932b4dd0e636384535c90cda605",
                "md5": "5ff0733529525a727a1c83414f793813",
                "sha256": "49abc94d584297d37622b90bd2307db850bb36d1425098095029f0d57cd8e4d8"
            },
            "downloads": -1,
            "filename": "genvexnabto-1.2.3.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "5ff0733529525a727a1c83414f793813",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 40358,
            "upload_time": "2025-01-07T21:45:58",
            "upload_time_iso_8601": "2025-01-07T21:45:58.001011Z",
            "url": "https://files.pythonhosted.org/packages/af/96/16f0645a052c76cbe1028fe7568468a1e932b4dd0e636384535c90cda605/genvexnabto-1.2.3.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "115db49c1ca979e701153e8b98b3024e46443215f15507dbfdcd29b513b9831a",
                "md5": "46a5a0a0d11a6ce19ec06a62a5315045",
                "sha256": "35c0e69b00468826c88c789d636583be1f20c534a333813805c8c8e044f47a53"
            },
            "downloads": -1,
            "filename": "genvexnabto-1.2.3.2.tar.gz",
            "has_sig": false,
            "md5_digest": "46a5a0a0d11a6ce19ec06a62a5315045",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 29901,
            "upload_time": "2025-01-07T21:45:59",
            "upload_time_iso_8601": "2025-01-07T21:45:59.877546Z",
            "url": "https://files.pythonhosted.org/packages/11/5d/b49c1ca979e701153e8b98b3024e46443215f15507dbfdcd29b513b9831a/genvexnabto-1.2.3.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-07 21:45:59",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "superrob",
    "github_project": "genvexnabto",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "genvexnabto"
}
        
Elapsed time: 0.44015s