Evohome client (release)

For heating/cooling related questions in Domoticz
gordonb3
Posts: 383
Joined: Friday 22 January 2016 11:15
Target OS: Linux
Domoticz version: custom
Location: The Netherlands
Contact:

Re: Evohome client (release)

Postby gordonb3 » Friday 06 January 2017 18:28

Right...

Somehow in between copying files from linux to windows and back I managed to reset the lock time to 60. :oops:
So here is version 1.1.0.7 of the Evohome client for Domoticz

I've made use of the opportunity to update the README to include some instructions for building and using the client, and links toward the prebuilt versions. I've also included a new binary that SHOULD run on Rpi 2 and 3 (armv7l - 32bit) but this is currently unverified. I'd very much appreciate feedback on whether this is a good binary or not.

Gordon
Excito B3 running Gentoo Linux, P1, Rfxtrx433 to read and control TFA, KaKu, EvoHome RFG100
Custom patched Domoticz v3.7153

AlexFL
Posts: 2
Joined: Sunday 02 April 2017 11:24
Target OS: -
Domoticz version:
Contact:

Re: Evohome client (release)

Postby AlexFL » Sunday 02 April 2017 11:41

Any idea why I'm getting this error with the prebuild pi binary?

[email protected]:~/domoticz/scripts/evo $ ./evo-client --init
./evo-client: /usr/lib/arm-linux-gnueabihf/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ./evo-client)

gordonb3
Posts: 383
Joined: Friday 22 January 2016 11:15
Target OS: Linux
Domoticz version: custom
Location: The Netherlands
Contact:

Re: Evohome client (release)

Postby gordonb3 » Sunday 02 April 2017 18:59

Apparently you have a different glibc version.

You can build from source yourself. Should not take more than a few minutes.
Excito B3 running Gentoo Linux, P1, Rfxtrx433 to read and control TFA, KaKu, EvoHome RFG100
Custom patched Domoticz v3.7153

AlexFL
Posts: 2
Joined: Sunday 02 April 2017 11:24
Target OS: -
Domoticz version:
Contact:

Re: Evohome client (release)

Postby AlexFL » Monday 03 April 2017 23:32

Thanks, will try:
ran sudo apt-get install json-c libcurl4-openssl-dev
got
E: Unable to locate package json-c

gordonb3
Posts: 383
Joined: Friday 22 January 2016 11:15
Target OS: Linux
Domoticz version: custom
Location: The Netherlands
Contact:

Re: Evohome client (release)

Postby gordonb3 » Tuesday 04 April 2017 9:33

I think the correct package name is 'json-c-dev'

Edit: turns out Raspbian is quite behind on glibc. I've updated the binary with one that should work if you are running the newer Jessie based Raspbian OS which has glibc version 2.19 ('ldd --version'). If you're running original Wheezy based Raspbian OS building yourself is the only option I'm afraid.
Excito B3 running Gentoo Linux, P1, Rfxtrx433 to read and control TFA, KaKu, EvoHome RFG100
Custom patched Domoticz v3.7153

mschut
Posts: 133
Joined: Sunday 23 February 2014 22:40
Target OS: Raspberry Pi
Domoticz version: V3.5613
Location: Netherlands
Contact:

Re: Evohome client (release)

Postby mschut » Tuesday 04 April 2017 21:38

Hmm, to be honest I am getting a bit lost in the correct way to get the RFG100 connected.

If I am following the instuctions on the Wiki, should this work, or should I manually correct with newer version of the Evohome client? I am running on a Pi3 with Jesse.

gordonb3
Posts: 383
Joined: Friday 22 January 2016 11:15
Target OS: Linux
Domoticz version: custom
Location: The Netherlands
Contact:

Re: Evohome client (release)

Postby gordonb3 » Tuesday 04 April 2017 22:49

It should work with those instructions. The client was originally created to be a plug in replacement for those python scripts. All I did was rename the original config file from evoconfig.py to evoconfig to get it running on my own system.

In essence all you need is:
  • your honeywell user name
  • matching password
  • the base URI to your Domoticz installation
Try run the client with '-v' ('--verbose') to get more information if something does not appear right to you.
Excito B3 running Gentoo Linux, P1, Rfxtrx433 to read and control TFA, KaKu, EvoHome RFG100
Custom patched Domoticz v3.7153

mschut
Posts: 133
Joined: Sunday 23 February 2014 22:40
Target OS: Raspberry Pi
Domoticz version: V3.5613
Location: Netherlands
Contact:

Re: Evohome client (release)

Postby mschut » Tuesday 04 April 2017 23:33

Really trying, however, I keep on getting:

Code: Select all

[email protected]_domoticz:~ $ sudo ///home/pi/evohome-client/evo-update.sh init
INFO:urllib3.connectionpool:Starting new HTTPS connection (1): tccna.honeywell.com
INFO:urllib3.connectionpool:Starting new HTTPS connection (1): tccna.honeywell.com
Traceback (most recent call last):
  File "///home/pi/evohome-client/evo-update.sh", line 29, in <module>
    client = EvohomeClient(evoconfig.usr,evoconfig.pw)
  File "/home/pi/evohome-client/evohomeclient2/__init__.py", line 18, in __init__
    self._login()
  File "/home/pi/evohome-client/evohomeclient2/__init__.py", line 76, in _login
    self.installation()
  File "/home/pi/evohome-client/evohomeclient2/__init__.py", line 86, in installation
    r = requests.get('https://tccna.honeywell.com/WebAPI/emea/api/v1/location/installationInfo?userId=%s&includeTemperatureControlSystems=True' % self.account_info['userId'], headers=self.headers)
TypeError: list indices must be integers, not str


If I use a incorrect username or password, I get an error earlier on. It seems to me this proves these settings are correct. If I use an incorrect URL, the error keeps the same. So, it seems to me I don't get as far as connecting to Domoticz. So, actually, I don't know whats wrong...

gordonb3
Posts: 383
Joined: Friday 22 January 2016 11:15
Target OS: Linux
Domoticz version: custom
Location: The Netherlands
Contact:

Re: Evohome client (release)

Postby gordonb3 » Tuesday 04 April 2017 23:55

That's the python script, not the C++ client that this thread is about. The error does appear to indicate that you are receiving some unexpected output though. You might try to edit the script to dump that output to screen as it might tell what is wrong.
Excito B3 running Gentoo Linux, P1, Rfxtrx433 to read and control TFA, KaKu, EvoHome RFG100
Custom patched Domoticz v3.7153

Thelion
Posts: 19
Joined: Saturday 08 October 2016 12:15
Target OS: Raspberry Pi
Domoticz version: v3
Location: The Netherlands
Contact:

Re: Evohome client (release)

Postby Thelion » Wednesday 12 April 2017 20:16

Hi!

Running great on a RPi3. Much faster than the Python version.

I do have a request, which is possibly easy to implement. In stead of returning an error when connect fails or is too soon after the previous request, maybe it is possible to add a parameter, that retries the command at a given interval for a given number of times. I was thinking af a way to catch the error and according to the error, retry the command, but it would be easier of your client can handle that, in stead of inventing the wheel all over again.

I would like to hear your thought on that.

Regards,

Martijn

gordonb3
Posts: 383
Joined: Friday 22 January 2016 11:15
Target OS: Linux
Domoticz version: custom
Location: The Netherlands
Contact:

Re: Evohome client (release)

Postby gordonb3 » Wednesday 12 April 2017 21:59

Hi Martijn,

The error of running too soon after a previous request (or command) is generated locally inside the client. This is the 'nice' factor that I installed to prevent your account from being locked out by Honeywell. I guess I could make the client go to sleep for the remaining time of the set time (50 seconds), but this would only be useful if you have your updates running at larger intervals than the one minute that is suggested by the wiki.

I actually don't get many connect errors myself and if I do they usually correspond to server maintenance notices. Most errors I see are "Internal server error" and I often get multiple of these errors in a row (I update every two minutes). I don't think that adding retry cycles to the code will fix that and whatever is still functional with the Honeywell server at that point might consider the retries as 'hammering' which is what I'm trying to prevent with the 50 second limit.
Excito B3 running Gentoo Linux, P1, Rfxtrx433 to read and control TFA, KaKu, EvoHome RFG100
Custom patched Domoticz v3.7153

Thelion
Posts: 19
Joined: Saturday 08 October 2016 12:15
Target OS: Raspberry Pi
Domoticz version: v3
Location: The Netherlands
Contact:

Re: Evohome client (release)

Postby Thelion » Saturday 22 April 2017 17:14

Hi Gordon,

The issue is that I have a Domoticz script running that changes the status of a zone in Evohome when certain conditions are met and the scripts checks if the status is visible in Domoticz. If not, It runs again after some time. This often results in an error per email from Evohome stating that some commands have not been processed.

Do you know if it is possible to "talk" to the RFG100 directly? In stead of the web-portal? That would be even more reliable.

Regards,

Martijn

gordonb3
Posts: 383
Joined: Friday 22 January 2016 11:15
Target OS: Linux
Domoticz version: custom
Location: The Netherlands
Contact:

Re: Evohome client (release)

Postby gordonb3 » Saturday 22 April 2017 23:13

Hi Martijn.

If you really need to be able to read back if the command was accepted you can let the script delete the state file (/tmp/evo-lastup) that holds the last run time of the client. Just be careful not to overload your account at Honeywell by running that script every second or at an even higher rate.
Excito B3 running Gentoo Linux, P1, Rfxtrx433 to read and control TFA, KaKu, EvoHome RFG100
Custom patched Domoticz v3.7153


Return to “Heating/cooling”

Who is online

Users browsing this forum: No registered users and 3 guests