zxdavb / ramses_cc

HA integration for CH/DHW and HVAC systems that use the RAMSES II RF protocol
GNU General Public License v3.0
71 stars 16 forks source link

Update ramses_cc for HVAC (e.g. Itho Daalderop) & integrate breaking changes #63

Open zxdavb opened 1 year ago

zxdavb commented 1 year ago

@tomkooij has been the source of a many recent improvements to the library, particularly the HVAC parsers. Thanks!

In addition, the latest master of ramses_rf has many other (albeit beneficial) changes, some deep within the codebase. And there is a significant bug in ramses_rf's to-do list, that will be included in this next release.

Unfortunately, there are breaking changes that I will find difficult to test/debug (i.e. I have no access to live HVAC systems via RF).

One example is:

{"setpoint_low": 19.5, "setpoint_high": 21.0}

... being changed to:

{"setpoint_bounds": [19.5, 21.0]}

The prudent action is to recruit selected users who have the right HVAC systems and involve them in this test/debug cycle, with a dev/test platform.

Specifically, their existing HA systems will not be used for this function; rather: they will have a second HA instance for test/debug. Ideally, they will have two USB dongles (at least one running evofw3), although it is likely that ser2net will be used instead.

Note: the second instance can still 'influence' with the first, as they'll share the same RF space.

First step, is to set up a development environment and clone the master branch of the:

... and get ser2net working.

Once a dev/test environment is established, start HA and any report bugs; then update the repos and repeat the cycle.

zxdavb commented 1 year ago

@tomkooij Are you up for this?

tomkooij commented 1 year ago

@zxdavb Count me in. Sorry for ignoring this. I have been cleaning up emails, so I wasn't recieving GitHub notifications. So I missed this. Fixed that now.

I will setup the dev environment. I'll have to dig into ser2net to share the SSM-D2.

I installed another HA docker. Currently it is using my "real" HGI-80, so I cannot fake. I'll have to dig into ser2net to test that, but it seems to run fine. Running the current master off HACS. (But that does not seem to install the current ramses_rf master, I'll do that manually)

tomkooij commented 1 year ago

@zxdavb I've installed ramses_cc@master using HACS in my HA dev container.

But upon restarting HA, ramses_cc installs ramses_rf==0.22.40 from manifest.json. It even seems to reinstall the version in manifest.json after a reboot. So I editted custom_components/ramses_cc/manifest.json:

      "ramses-rf @ git+https://github.com/zxdavb/ramses_rf@master",

Anyway, I do not use the entity you mentioned above so cannot test that (yet -- need to create a proper entity for the autotemp UFC etc).

But nothing breaking on current masters.

zxdavb commented 1 year ago

@Tom - I'm going to be out of action for a few weeks...

But I didn't want to use manifest.json - I wanted to have a local git repo for ramses_rf (git clone), and use (e.g.) pip install -e ~/clients/ramses_rf/

That way, you can easily chose whatever branch / commit you want, as long as the versions match.

tomkooij commented 1 year ago

But I didn't want to use manifest.json - I wanted to have a local git repo for ramses_rf (git clone), and use (e.g.) pip install -e ~/clients/ramses_rf/

That way, you can easily chose whatever branch / commit you want, as long as the versions match.

  • ramses_rf/version.py, and
  • ramses_cc/manifest.json

Unfortunately, upon a restart of HA, it seems ramses_cc is reinstalled and the corresponding ramses_rf is installed from it's manifest.json. That does sound odd, but that is what seems to happen.

I'll have to check again, when the time comes. At least I have a test HA in docker now, that I can fire up whenever I/you want to test something,

zxdavb commented 1 year ago

Don't use HACS. Instead, git clone the ramses_cc repo directly under the custom components folder.