Refactored Honeywell evohome custom_component (EU-only)


#323

If anyone would like to test this code that works with HA 0.89:

It has support for HA 0.89, and the custom_components.json has been sorted.

Sorry, but for several reasons, some not within my control, you have to completely remove the evohome_cc component:

<config folder>\custom_components\evohome_cc\*

… and replace it (with evohome) using these files from the above tagged (v1.1.7) repo:

<config folder>\custom_components\evohome\
    --> __init__.py
    --> climate.py
    --> water_heater.py

Note also, the name has changed back to evohome (the _cc thing isn’t really working, but if anyone wants, I will provide instructions how to manually change it back).

Anyway, don’t forget to also change evohome_cc: to evohome: in your configuration.yaml!

For the custom_updater, I am using the following in my configuration.yaml:

custom_updater:
  track:
    - components
  component_urls:
#   - https://raw.githubusercontent.com/zxdavb/evohome/master/custom_components.json
    - https://raw.githubusercontent.com/zxdavb/evohome/bleeding_edge/custom_components.json

Note that https://raw.githubusercontent.com/zxdavb/evohome/master/ does not yet contain the updated custom_components.json, so you’ll need to use the above URL for now. Later, you’ll need to switch it back when bleeding_edge is merged back into master.


#324

It works again!
I have it still placed in custom_components (i saw your comment too late)
Should i try to place evhome dir in the config directory and not in the custom_components folder?
Can i also place some translation for the functions like “Away” or “DayOff”
The tracker card shows also the evohome component!

Great work!


#325

Sorry, a typo on my side, now corrected.

Sorry, what do you mean?


#326

You can set options like Away, autowitheco and dayoff. I want to translate it to Dutch.
Like: Away = Weg


#327

I placed v1.1.7 manually under my config folder and works like a charm.


#328

Sounds good.

Will look into it, and let you know - there are just a few higher priority things that must get sorted first.

  • can you raise an issue on github?

#329

Followed all adaptations for the 1.1.7 release. (config, rename folder, updater url)
but it didn’t seem to work.
Then I realised I should be on 89.1 for using bleeding edge components :wink:
After update all works perfectly! Evohome + custom updater

Once again great work


#330

It looks like the water_heater component doesn’t work with 1.1.7 when testing against 89.1:

2019-03-08 20:39:09 ERROR (MainThread) [homeassistant.loader] Error loading custom_components.evohome.water_heater. Make sure all dependencies are installed
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/homeassistant/loader.py", line 166, in _load_file
    module = importlib.import_module(path)
  File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/config/custom_components/evohome/water_heater.py", line 22, in <module>
    from homeassistant.components.water_heater.const import (
ModuleNotFoundError: No module named 'homeassistant.components.water_heater.const'

#331

Correct. Fixed with v1.1.8 - if you are using custom_updater, this should appear for you now.


#332

As promised, it is now:

custom_updater:
  track:
    - components
  component_urls:
    - https://raw.githubusercontent.com/zxdavb/evohome/master/custom_components.json

#333

I had a look at: https://developers.home-assistant.io/docs/en/internationalization_custom_component_localization.html

Are you interested in providing a nl.json file, or (even better) a PR?


#334

Yeah for sure! How can i help?
I just read your last answer, shall i create an issue at github?


#335

No, that was just to remind me to make it happen at some time in the future. Let’s do it now, instead.

Look at: https://developers.home-assistant.io/docs/en/internationalization_custom_component_localization.html

I think it’s just a matter of creating a file called:

<config folder>\custom_components\evohome\.translations\nl.json

… and going from there!


#336

I wil try it tomorrow in the evening! I let you know!


#337

I have just tried to translate the operarion_mode options, but it won’t have any effect after a restart.


#338

Are yo getting any Dutch, or is it all in English?


#339

It’s all english, i look at a lot of examples at the internet but i don’t get it fixed.


#340

Great, DHW working now, thank you!


#341

Anybody who knowes, how to translate a custom_component?


#342

@Cinamon I am sorry that I don’t have time to make this happen - but I would be happy to test/accept a PR.

I think the way it is done, is to have snake_case strings in the *.py files, which are then used to lookup an internationalized (or the default) string in a *.json. So, in the code:

STATE = 'auto'

and

{
...
    'auto': "Auto"
...
}

You can ask at (or maybe another channel via): HA dev channel