Page 2 of 3

Re: Evohome client (June 2017 update)

Posted: Monday 12 June 2017 16:03
by stephenmhall
Very new user here (days), running Domoticz on my Synology 412+ which is an atom X64 cpu. I have got MySensors, Z-Stick and a load of MQTT sonoff's set up working fine but have been unable to get EvoHome working, or even added to the hardware list.

I have not changed anything yet and if I select the "Evohome via WEB API" in hardware there are no options for setting anything but the name and timeout. I wanted to install your C++ version as I understand it replaces this Python version of the Evohome Web API interface and hoped it would give me the fields necessary to add the new hardware but being a new Domoticz user and at a beginner ish level of Linux, I am coming up short on how to install on my Synology.

I have downloaded the Linux X64 binary, is it as simple as dropping this into the plugins folder of Domoticz or am I completely off the plot?

Re: Evohome client (June 2017 update)

Posted: Monday 12 June 2017 21:36
by fecus
gordonb3 wrote:Fairly certain it should register as the zone with unit number 1. May be worth noting that for Domoticz zones are temperature devices.
I have 12 zone. All of them has 0 C.
Do I need running some update script?

Re: Evohome client (June 2017 update)

Posted: Monday 12 June 2017 22:29
by stephenmhall
Thanks for the info Gordon, I shall await the update and see how it goes after that.

Re: Evohome client (June 2017 update)

Posted: Friday 16 June 2017 11:17
by fecus
gordonb3 wrote:The twelve zones are from the init procedure. They will be populated in order by the update run (of which the init run is one). Yes the idea is that you rerun the client (without -i) every X seconds to fetch current data from the server. It is completely safe to delete the zones you do not use - if needed you can recreate them by running init again. As said: in your case the zone with unit number 1 should report the temperature from your Round Wireless.
Sorry, but I was not success.
Ubuntu 16.04 server,
Domoticz:
About Domoticz
Version: 3.7708
Compile Date: 2017-06-10 12:29:43

I compiled evo-client:

Code: Select all

user@server:~/evohomeclient-master$ make EXTRAFLAGS=' -DCONF_FILE=\"evoconfig\" -DSCHEDULE_CACHE=\"evohome-schedules.json\" -DLOCK_FILE=\"/tmp/evo-lastup\" '
g++ -c -Wall -DCONF_FILE=\"evoconfig\" -DSCHEDULE_CACHE=\"evohome-schedules.json\" -DLOCK_FILE=\"/tmp/evo-lastup\" -DCONF_FILE=\"evoconfig\" -DSCHEDULE_CACHE=\"evohome-schedules.json\" -DLOCK_FILE=\"/tmp/evo-lastup\" src/evo-client.c -o src/evo-client.o
g++ -c -Wall -DCONF_FILE=\"evoconfig\" -DSCHEDULE_CACHE=\"evohome-schedules.json\" -DLOCK_FILE=\"/tmp/evo-lastup\" -DCONF_FILE=\"evoconfig\" -DSCHEDULE_CACHE=\"evohome-schedules.json\" -DLOCK_FILE=\"/tmp/evo-lastup\" lib/base64.c -o lib/base64.o
g++ -c -Wall -DCONF_FILE=\"evoconfig\" -DSCHEDULE_CACHE=\"evohome-schedules.json\" -DLOCK_FILE=\"/tmp/evo-lastup\" -DCONF_FILE=\"evoconfig\" -DSCHEDULE_CACHE=\"evohome-schedules.json\" -DLOCK_FILE=\"/tmp/evo-lastup\" lib/domoticzclient.c -o lib/domoticzclient.o
g++ -c -Wall -DCONF_FILE=\"evoconfig\" -DSCHEDULE_CACHE=\"evohome-schedules.json\" -DLOCK_FILE=\"/tmp/evo-lastup\" -DCONF_FILE=\"evoconfig\" -DSCHEDULE_CACHE=\"evohome-schedules.json\" -DLOCK_FILE=\"/tmp/evo-lastup\" lib/evohomeclient.c -o lib/evohomeclient.o
g++ -c -Wall -DCONF_FILE=\"evoconfig\" -DSCHEDULE_CACHE=\"evohome-schedules.json\" -DLOCK_FILE=\"/tmp/evo-lastup\" -DCONF_FILE=\"evoconfig\" -DSCHEDULE_CACHE=\"evohome-schedules.json\" -DLOCK_FILE=\"/tmp/evo-lastup\" lib/webclient.c -o lib/webclient.o
g++ src/evo-client.o lib/base64.o lib/domoticzclient.o lib/evohomeclient.o lib/webclient.o -lcurl -ljson-c -o evo-client
And run it as user:

Code: Select all

user@server:~$ /usr/local/domoticz/scripts/evo-client
Error deleting lockfile
segmentation fault (core dumped)
And run it as root:

Code: Select all

user@server:~$ /usr/local/domoticz/scripts/evo-client
segmentation fault (core dumped)
The log:

Code: Select all

evo-client start: 2017-06-16 10:58:58
connect to Domoticz server
got ID '6' for Evohome hardware with name 'RFG100'
connect to Evohome server
No temperature from thermostat.

Do you have any idea to repair?

Re: Evohome client (June 2017 update)

Posted: Friday 16 June 2017 16:04
by fecus
gordonb3 wrote:Please try the latest release: version 1.2.2

The segmentation fault is in the json library and most likely the result of you not having any schedules in your system.
I use the 1.2.2.
I made daily schedule from my mobile.

Nothing better.

Re: Evohome client (June 2017 update)

Posted: Sunday 18 June 2017 11:33
by fecus
gordonb3 wrote:Right...

Just noticed you are running beta. You can also try the 'Evohome via Web API' instead of 'Evohome via Script'. It is essentially the same code but it uses a different json library to allow integration. It may not be vulnerable to whatever unexpected json values are returned for your installation.
I tried. The error message:

Code: Select all

 2017-06-18 11:30:55.789 (Honeywell) connect to Evohome server
2017-06-18 11:30:56.895 Error: (Honeywell) HTTP client error at retrieve user account info! 
The login and password is OK. I checked in web.

Re: Evohome client (June 2017 update)

Posted: Sunday 18 June 2017 17:06
by fecus
gordonb3 wrote: I know. The code would not try to retrieve the user info if the login did not succeed. The error indicates a problem connecting to the server, which is strange because the initial connect was successful. Are you using a web proxy maybe? Connecting through VPN? You may want to try lower network properties MTU/MRU on your machine.
First, thank you your help!
I haven't got proxy, VPN.
Cable Internet (PPPOE) -> Openwrt router -> default Ubuntu 16.04 headless server without special firewall.
I don't know how to change MTU/MRU in ubuntu.
Can I need to open some port? Can I test it from CLI when I see the error messages?

New error:

Code: Select all

 2017-06-18 16:41:48.236 (Honeywell) connect to Evohome server
2017-06-18 16:41:49.424 (Honeywell) logon fail treshold reached - trottling 

Re: Evohome client (June 2017 update)

Posted: Tuesday 27 June 2017 15:34
by xAPPO
I am getting a logon error - but the username (email) and password are definitely correct , I just checked on https://international.mytotalconnectcomfort.com

.... although I did originally enter the wrong password.

v 3.8.007 raspberry Pi

2017-06-27 13:11:42.055 (EvoHome) Worker started...
2017-06-27 13:11:52.056 (EvoHome) connect to Evohome server
2017-06-27 13:11:52.159 Error: (EvoHome) HTTP client error at login!
2017-06-27 13:12:06.161 (EvoHome) Worker stopped...

Any suggestions - or is this an MTU thing too ?

[update] I have a feeling the original password persisted. I restarted the Pi and Domoticz and all is now OK. Default MTU on the Pi is 1500 BTW

Re: Evohome client (June 2017 update)

Posted: Wednesday 28 June 2017 11:29
by fecus
gordonb3 wrote:You can use `ping` to find the maximum MTU/MRU size. Don't have any direct resources for you but Google should help you find some. Normal setting for PPPoE would be 1492, but I actually did have some problems with that setting myself when I went to fiber. Got mine at 1480 and it solved all my connection issues. Haven't worked with Debian type systems for a while, but I think you can set mtu as an interface property in /etc/network/interfaces.
I tried everything. I tried in Ubuntu server. I tried in Raspberry PI. I took the raspberry pi to my company. I tried the program there. Same.
I change MTU in my server to 1464. Nothing.

Is there any settings in "https://international.mytotalconnectcomfort.com/" what I missed to set.

Re: Evohome client (June 2017 update)

Posted: Thursday 27 July 2017 21:46
by fecus
I updated evo-client to version 1.3.0. After init I start:
user@server:/usr/local/domoticz/scripts# ./evo-client -k
ERROR: multiple Evohome systems found - don't know which one to use for status
but I have only one RFG100. And no temperature from round thermostat.
What does it mean?

Re: Evohome client (June 2017 update)

Posted: Friday 28 July 2017 18:39
by Kerel
Can't really get it to be compiled on my raspberry pi :(,

Any thoughts?

Image

Re: Evohome client (August 2017 update)

Posted: Tuesday 22 August 2017 13:11
by fecus
gordonb3 wrote: Wednesday 09 August 2017 16:53 New release: version 1.4.0

Should fix most if not all issues mentioned above
I deleted account at Honeywell site and renew with other email.
After upgrade client from 1.3.0 to 1.4.0.

First time:

Code: Select all

root@myserver:/usr/local/domoticz/scripts#./evo-client  -i
evo-client start: 2017-07-31 20:03:28
connect to Domoticz server
got ID '11' for Evohome hardware with name 'RFG100'
init mode enabled
create hardware in Domoticz
create evohome controller in Domoticz
create hot water device in Domoticz
create heating device in Domoticz
create heating device in Domoticz
create heating device in Domoticz
create heating device in Domoticz
create heating device in Domoticz
create heating device in Domoticz
create heating device in Domoticz
create heating device in Domoticz
create heating device in Domoticz
create heating device in Domoticz
create heating device in Domoticz
create heating device in Domoticz
connect to Evohome server
retrieve Evohome installation info
ERROR: multiple Evohome systems found - don't know which one to use for status
Set config to 0,0,0 and after:

Code: Select all

root@myserver:/usr/local/domoticz/scripts# ./evo-client -k
terminate called after throwing an instance of 'std::invalid_argument'
  what():  login fail
Félbeszakítva (core készült) I think in English: Segmentation fault (core dumped)
The config:

Code: Select all

#fill in script root; e.g. script:///home/<user>/evohome-client script:///usr/local/bin etc
srt='script:///usr/local/domoticz/scripts'

#uncomment and complete the following line to enable logging to a file
logfile='evohome_log.txt'

#The following applies if you have multiple Evohome systems:

#uncomment the following lines if you like to use the first Evohome system returned
#change numbers to access different installations
location=0
gateway=0
controlsystem=0

#or supply the Evohome systemId
#;systemId='11'

#uncomment the following line if you want the hardware to be registered
#under a different name in Domoticz (default:evohome)
hwname='RFG100'
Reinstall (after domoticz daemon restart):

Code: Select all

root@myserver:/usr/local/domoticz/scripts# ./evo-client -i
terminate called after throwing an instance of 'std::invalid_argument'
  what():  login fail
Félbeszakítva (core készült)

Re: Evohome client (August 2017 update)

Posted: Tuesday 22 August 2017 14:23
by tonbor
2017-08-22 13:51:55.529 Error: (evohome) HTTP client error at retrieve user account info!
2017-08-22 13:53:56.369 Error: (evohome) HTTP client error at retrieve user account info!
2017-08-22 13:55:57.189 Error: (evohome) HTTP client error at retrieve user account info!
2017-08-22 13:57:58.025 Error: (evohome) HTTP client error at retrieve user account info!
2017-08-22 13:59:58.847 Error: (evohome) HTTP client error at retrieve user account info!
2017-08-22 14:01:59.667 Error: (evohome) HTTP client error at retrieve user account info!
2017-08-22 14:04:00.469 Error: (evohome) HTTP client error at retrieve user account info!
2017-08-22 14:06:01.285 Error: (evohome) HTTP client error at retrieve user account info!
2017-08-22 14:08:02.085 Error: (evohome) HTTP client error at retrieve user account info!
2017-08-22 14:10:02.954 Error: (evohome) HTTP client error at retrieve user account info!
2017-08-22 14:12:06.096 Error: (evohome) HTTP client error at retrieve user account info!
2017-08-22 14:14:06.992 Error: (evohome) HTTP client error at retrieve user account info!
2017-08-22 14:16:07.825 Error: (evohome) HTTP client error at retrieve user account info!

For two days now no login connection for Evohome. I did nothing, perhabs a faulty beta release? Before that no problem with script or later with the api. Others have lost connection too?

Re: Evohome client (August 2017 update)

Posted: Tuesday 22 August 2017 15:09
by tonbor
yes I auto ugraded to beta releases .....

2017-08-22 15:06:29.900 (evohome) connect to Evohome server
2017-08-22 15:06:30.719 Error: (evohome) HTTP client error at retrieve user account info!
2017-08-22 15:06:30.719 (evohome) logon fail treshold reached - trottling

Re: Evohome client (August 2017 update)

Posted: Tuesday 22 August 2017 15:11
by tonbor
Over Domoticz
Version: 3.8346
Build Hash: 3bb9d25
Compile Date: 2017-08-22 08:53:10

Re: Evohome client (August 2017 update)

Posted: Tuesday 22 August 2017 15:14
by tonbor
latest correct reading 1317 evohome 2121076 1 Woonkamer Heating Zone 21.5 C, (5.0 C), HeatingOff 10 - Zet als ongebruiktNaam wijzigen 2017-08-20 22:20:42

Re: Evohome client (August 2017 update)

Posted: Tuesday 22 August 2017 15:16
by tonbor
latest reading 1317 evohome 2121076 1 Woonkamer Heating Zone 21.5 C, (5.0 C), HeatingOff 2017-08-20 22:20:42

Re: Evohome client (August 2017 update)

Posted: Tuesday 22 August 2017 15:29
by tonbor
probleem zat niet bij de Api of Domoticz. Zat in de instellingen de taal was per ongeluk van Nederland naar Hongaars overgezet. De app is Nederlands. Kennelijk ern beveiliging van Honeywell.

Problem was the language settings. Changed from dutch to hungarian. Blocked entrance at Honeywell probably.

Re: Evohome client (August 2017 update)

Posted: Wednesday 23 August 2017 13:26
by tonbor
Thanx

Re: Evohome client (August 2017 update)

Posted: Thursday 19 October 2017 20:22
by fecus
gordonb3 wrote: Tuesday 22 August 2017 16:18 Amazing. Wouldn't be on the Honeywell side though because the error message would be different. The login itself is in fact successful. The most likely cause for your error is that the wrong language setting causes some characters of the session key that is returned by the login to be transcoded, thus making it invalid. I've marked this as a point of interest that should be investigated.
I'm from Hungary. My Domoticz language is Hungarian. Maybe my problem stems from this?
Would you have even investigate afterwards?