Code Monkey home page Code Monkey logo

genvexconnect's Introduction

Genvex Connect

Component to directly integrate Genvex Connect and Nilan Gateway devices into Home Assistant. The integrationen uses my own libary GenvexNabto which handles all communication with the devices locally. Have a look in that repo for more information about the more technical side of the project.

This integration needs the user to have an Genvex Connect or Nilan gateway connected to their device or own the newer Optima devices, which already have integrated gateways.

Supported controller models

Controller Gateway requiured 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 Should work
Optima 312 Yes, internet gateway Should work
Optima 314 Built in Should work
Nilan CTS400 Yes, nilan gateway
Nilan CTS602 Yes, nilan gateway
Nilan CTS602 Light Yes, nilan gateway EXPERIMENTAL
Nilan CTS602 Geo Yes, nilan gateway Not implemented

Installation (HACS)

The preferred method to install is to use HACS. You need to add this repo https://github.com/superrob/genvex-connect as a custom repo. See https://hacs.xyz/docs/faq/custom_repositories for details.

Installation (No HACS)

If you don't have/want HACS installed, you will need to manually install the integration

  1. Using the tool of choice open the directory (folder) for your HA configuration (where you find configuration.yaml).
  2. Drag the custom_components folder into your HA configuration folder.
  3. Restart Home Assistant

Setup

To setup the integration, go into "Configuration" -> "Integrations" and press on the "+" button. Find Genvex Connect from the list. The integration should search for your device and let you choose which one to use. You then need to provide it with the same email as used in the Genvex Connect app. This is case sensitive. Then if all goes well, your device should be added and working in Home Assistant.

A little note to Genvex/Nilan

I know fully well that you have the ability to remotely update your devices and closing local connections are quite simple to do. Please do not use that power irresponsibly. The method of connecting locally does require you to know the exact email used in the app and the capabilities are the same as the ones your users connecting directly through Modbus have. This shouldn't be a security concern and only gives your Gateway solutions much more value to the end user. Might i suggest that some might choose to buy your additional product, instead of a thirdparty solution?

Obligatory statement

I am not personally or in any way responsible for any damages should you choose to use the integration. No warranty provided. Be especially observant when trying the integration with untested controller models and settings values.

genvexconnect's People

Contributors

superrob avatar

Stargazers

 avatar BDCP avatar  avatar Carl Reid avatar Jacob Scherrebeck avatar Ulrik Bech Hald avatar

Watchers

Lucian avatar  avatar

genvexconnect's Issues

Setup failed after newest update; unable to import component

Logger: homeassistant.setup
Source: setup.py:322
First occurred: 11:26:51 AM (1 occurrences)
Last logged: 11:26:51 AM

Setup failed for custom integration 'genvex_connect': Unable to import component: Exception importing custom_components.genvex_connect
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 1067, in _get_component
ComponentProtocol, importlib.import_module(self.pkg_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/util/loop.py", line 200, in protected_loop_func
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/importlib/init.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 995, in exec_module
File "", line 488, in _call_with_frames_removed
File "/config/custom_components/genvex_connect/init.py", line 11, in
from genvexnabto import GenvexNabto, GenvexNabtoConnectionErrorType
File "/usr/local/lib/python3.12/site-packages/genvexnabto/init.py", line 1, in
from .genvexnabto import ( GenvexNabto, GenvexNabtoConnectionErrorType )
File "/usr/local/lib/python3.12/site-packages/genvexnabto/genvexnabto.py", line 8, in
from .models import ( GenvexNabtoDatapointKey, GenvexNabtoSetpointKey )
File "/usr/local/lib/python3.12/site-packages/genvexnabto/models/init.py", line 2, in
from .optima314 import GenvexNabtoOptima314
File "/usr/local/lib/python3.12/site-packages/genvexnabto/models/optima314.py", line 23
GenvexNabtoSetpointKey.TEMP_SETPOINT: GenvexNabtoSetpoint(read_obj=0, read_address=1, write_obj=0, write_address=12, divider=10, offset=100, min=0, max=200, step=0.5, step=0.5),
^^^^^^^^
SyntaxError: keyword argument repeated: step

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 1007, in async_get_component
comp = await self.hass.async_add_import_executor_job(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1078, in _get_component
raise ImportError(f"Exception importing {self.pkg_path}") from err
ImportError: Exception importing custom_components.genvex_connect

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/loader.py", line 1067, in _get_component
ComponentProtocol, importlib.import_module(self.pkg_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/util/loop.py", line 200, in protected_loop_func
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/importlib/init.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 995, in exec_module
File "", line 488, in _call_with_frames_removed
File "/config/custom_components/genvex_connect/init.py", line 11, in
from genvexnabto import GenvexNabto, GenvexNabtoConnectionErrorType
File "/usr/local/lib/python3.12/site-packages/genvexnabto/init.py", line 1, in
from .genvexnabto import ( GenvexNabto, GenvexNabtoConnectionErrorType )
File "/usr/local/lib/python3.12/site-packages/genvexnabto/genvexnabto.py", line 8, in
from .models import ( GenvexNabtoDatapointKey, GenvexNabtoSetpointKey )
File "/usr/local/lib/python3.12/site-packages/genvexnabto/models/init.py", line 2, in
from .optima314 import GenvexNabtoOptima314
File "/usr/local/lib/python3.12/site-packages/genvexnabto/models/optima314.py", line 23
GenvexNabtoSetpointKey.TEMP_SETPOINT: GenvexNabtoSetpoint(read_obj=0, read_address=1, write_obj=0, write_address=12, divider=10, offset=100, min=0, max=200, step=0.5, step=0.5),
^^^^^^^^
SyntaxError: keyword argument repeated: step

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 322, in _async_setup_component
component = await integration.async_get_component()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1027, in async_get_component
self._component_future.result()
File "/usr/src/homeassistant/homeassistant/loader.py", line 1019, in async_get_component
comp = self._get_component()
^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1078, in _get_component
raise ImportError(f"Exception importing {self.pkg_path}") from err
ImportError: Exception importing custom_components.genvex_connect

Can't connect to Nilan CTS400 after updating to version 0.1.9.1

Hi,

First of all, thank you for a great integration for Home Assistant and Nilan CTS400. It is very much appreciated.

Issue

This morning I updated from version 0.1.4 to version 0.1.9.1 of Genvex Connect.
After the update, the integration can no longer connect to my Nilan CTS400 gateway connected to my Nilan Comfort 250L system. The integration returns an error when trying to initialize the integration in Home Assistant.

The error message displayed in Home Assistant is:

Timed out while trying to get data from xxxxxxx.remote.lscontrol.dk did not correctly load a model for Model no: 1140, device number: 72280 and slavedevice number: 72270

The log file in Home Assistant does not show anything.

What have I done?

  1. I have validated that my Nilan User App still works. It does.
  2. I validated that the Genvex Connect integration was working correctly before the update. It did.
  3. I have tried deleting the integration to my gateway, reboot Home Assistant and then add the integration again. This didn't solve the issue.
  4. I have tried to re-initialize the integration through the Home Assistant front-end. This didn't solve the issue.

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.