Honeywell CH/DHW via RF - evohome, sundial, hometronics, chronotherm

Tried cloning it again just now, but it still won’t pass config check even after a restart.

Can you do the equivalent of:

pip install evohome_rf

It’s not quite so clear under supervised install. Homeassistant supervised doesn’t want you installing any additional packages on the host machine. I guess I could try to install it inside the homeassistant container, but I’m pretty sure this shouldn’t be needed. The install was quite straightforward last time. Don’t you think it’s possible to fix it? I’d prefer to wait for that.

I just pulled latest and in manifest.jason:

 "requirements": [
    "evohome-rf==0.3.0", "pyserial-asyncio==0.4"

Component doesnt start though, dependency errors.
So I tried to install latest evohom_rf in homeassistant continer and it tries to install 0.3.1 which errors:

bash-5.0# pip install evohome_rf
Collecting evohome_rf
  Using cached evohome-rf-0.3.1.tar.gz (64 kB)
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ydckf26f/evohome-rf/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ydckf26f/evohome-rf/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-lzwxj_5c
         cwd: /tmp/pip-install-ydckf26f/evohome-rf/
    Complete output (5 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-install-ydckf26f/evohome-rf/setup.py", line 21, in <module>
        install_requires=list(val.strip() for val in open("requirements.txt")),
    FileNotFoundError: [Errno 2] No such file or directory: 'requirements.txt'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

repeated and forced with “pip install evohome_rf==0.3.0” which installed without error.
no errors in homeassistant.log all seems to be operatng fine.

1 Like

Okay I might try that. Does anyone know what the best practice is for addon dependencies as regards VENV in the homeassistant container in a supervised/hass.io install? I believe everything is installed in VENV in there, but I’m not sure what the “correct” VENV would be to put this in, and I’m not much of a python expert unfortunately.

Look at the manifest.json:

So you would want to:

pip install evohome_rf==0.3.0

This is caused by me fiddling, trying to get the automatic install of the library working…

OK, 0.3.4 just pushed - lots of small fixes

Sorry for the difficulties with this project - over 7.500 lines of code in the library alone…

I still can’t work out why the library isn’t being installed automatically…

2 Likes

Hi David!

The device in your link looks to be the same as the one I use.
You just connect it to the machine you run HomeAssistant on by USB. Advice is to use a cable so it’s not immediately beside the machine. I had issues initially but found that my cable was too long (I’d used a USB extension cable as well!).

You will need to flash the USB dongle which is very easy and then add teh custom component.
Check the “Hardware” link in HASS that the device is found and you should start seeing data and new devices.

That’s wonderful and thanks so much for taking the time and patience to explain.
With regard to attaching the dongle to the machine (in my case a NUC running Proxmox) it is quite a way from my boiler but presumably given its 868mhz RF it should be ok?

I’m also running in proxmox on a NUC!
I tried to keep my USB dongle as close to my touch screen controler as I know that it can see all the other components from there, i has to be able to see (well, hear!) them all to be effective, not just your boiler.

In proxmox you’ll need to add hardware and select the USB device to expose to the guest machine:

Really appreciate the advice - I’ll purchase the dongle now I know.
Thanks

Hi, I am trying to get this to run on HassIo on a RaspberryPi4 installed via the raspberryPi Hassio image, which is using Docker.
I copied the evohome_cc folder from Github to the custom_components folder and added the following into configuration.yaml:
evohome_cc:
scan_interval: 60
serial_port: /dev/ttyUSB1
packet_log: /config/packet.log
schema:
controller: 01:999999
I also ran: pip3 install evohome_rf==0.3.0 from the Execute Shell Command the file editor:
Command executed: pip3 install evohome_rf==0.3.0: 0
Collecting evohome_rf==0.3.0
Downloading https://files.pythonhosted.org/packages/54/44/d8b16d6ed258a36f24acdd4f24c97393ac652c9d4a4adf5603e3f7e2a8aa/evohome-rf-0.3.0.tar.gz (64kB)
Installing collected packages: evohome-rf
Running setup.py install for evohome-rf: started
Running setup.py install for evohome-rf: finished with status ‘done’
Successfully installed evohome-rf-0.3.0
Unfortunately I can’t restart Hassio now as I getting a configuration error: Component error: evohome_cc - Integration ‘evohome_cc’ not found.
When rebooting the complete raspberryPi I get the following in the log file:
2020-10-07 14:27:11 ERROR (MainThread) [homeassistant.loader] Error loading custom_components.evohome_cc. Make sure all dependencies are installed
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/loader.py”, line 516, in _load_file
module = importlib.import_module(path)
File “/usr/local/lib/python3.8/importlib/init.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 1014, in _gcd_import
File “”, line 991, in _find_and_load
File “”, line 975, in _find_and_load_unlocked
File “”, line 671, in _load_unlocked
File “”, line 783, in exec_module
File “”, line 219, in _call_with_frames_removed
File “/config/custom_components/evohome_cc/init.py”, line 10, in
import evohome_rf
ModuleNotFoundError: No module named ‘evohome_rf’
So I downloaded the evohome-rf-0.3.0.tar.gz from the location mentioned above and extracted the files and copied these into a evohome_rf folder in custom_components. But with exactly the same results as above.
Can you please let me know where the evohome_rf directory should be copied to?

Are you running "pip install evohome inside the homeassistant coontainer?

  • I do this through the portainer add-on which makes it very easy to get to each container’s shell.

I dont know where the “execute shell command” would run it.

It should not be installed in custom-components.

This doesn’t answer your question, but you shoudl be using the same versionof teh library as specified in manifest.json, currently 0.3.4:

{
  "domain": "evohome_rf",
  "name": "Honeywell evohome (RAMSES II protocol) agent",
  "documentation": "https://github.com/zxdavb/evohome_cc",
  "requirements": [
    "evohome-rf==0.3.4", "pyserial-asyncio==0.4"
  ],
  "dependencies": [],
  "codeowners": ["@zxdavb"]
}

I don’t know why this requirements are not working (I use a Dev environment), perhaps someone else can help there.

Hi, do you mind to explain how I can run the command in portainer?
I installed the add-on and can get to the console of the container via quick action so I get to: bash-5.0# but pip or pip3 is not available.
So I suppose I need to go somewhere else but I can’t find it :frowning:
Thanks

this was the tip i needed!
for other people: i installed the portainer addon (only visible after you set advanced mode in your profile), made the homeassistant container visible and opened a console. in the console typed: pip install evohome_rf.
i changed the location of the packet.log file to my /config directory and had to restart home assistant twice.

1 Like

I am wondering if HA has stopped installing requirements automatically for custom_components?

Hi, this did indeed the trick and I can see my evohome devices in HassIo :slight_smile:
Thanks for your help!

1 Like

Hi - after many weeks of absence I returned to this project…
I.e. I installed new versions of components and I see following in logs…
What could be the problem? In any…?

ASSERT failure, raw_packet = >>> 045 I --- 04:041701 --:------ 01:023389 2309 003 0F0514 <<<
13:17:36 – /usr/local/lib/python3.8/site-packages/evohome/message.py (ERROR) - message first occurred at 6:51:37 and shows up 141 times
ASSERT failure, raw_packet = >>> 045 I --- 01:023389 --:------ 01:023389 2309 033 0006400106400206400305140405DC0605DC0705140806400906400A03E80F0640 <<<
13:17:33 – /usr/local/lib/python3.8/site-packages/evohome/message.py (ERROR) - message first occurred at 6:51:33 and shows up 98 times
Cannot connect to InfluxDB due to 'HTTPConnectionPool(host='a0d7b954-influxdb', port=8086): Max retries exceeded with url: /write?db=homeassistant (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fe293d7ba90>: Failed to establish a new connection: [Errno 111] Connection refused'))'. Please check that the provided connection details (host, port, etc.) are correct and that your InfluxDB server is running and accessible. Retrying in 60 seconds.
13:17:20 – InfluxDB (ERROR) - message first occurred at 6:49:47 and shows up 388 times
ASSERT failure, raw_packet = >>> 045 I --- 04:041701 --:------ 01:023389 3150 002 0F00 <<<
13:16:46 – /usr/local/lib/python3.8/site-packages/evohome/message.py (ERROR) - message first occurred at 6:50:23 and shows up 130 times