[RELEASE] Honeywell Evohome 2020 Integration with new Smartthings app

I have an api key if you like @Philip_Street1

@Andremain go on then, I do come from a programming background but I have little experience of LUA development and even less free time. :slight_smile:

@Philip_Street1 Hey one thing i forgot to tell you to check, make sure inside the smartapp that the window funtion temperature is an integer and not a decimal (5.0) value.

The API key is: 91db1612-73fd-4500-91b2-e63b069b185c (use the first box)

I checked that and the value is 5, rather than 5.0.

Thanks for the API key, I’ll have a play if I have time.

Awesome! Here is the api endpoint as well: Total Connect Comfort Web API Help Page

Good news! I have finally managed to find codersaur on reddit and he provided the beta integration which includes HOT WATER! I have managed to get the device handler up to date to work with the new SmartThings app but the hot water dth is indeed a beta release. Please read the hot water issues section to learn more. Also i am working with nayelyz to fix some issues, but if any of you is a developer (as i am not) if interested, i am more than happy to work with you to resolve these issues. I hope i made someone’s day.

@WillHar @Somebody @TheMiniBar @cscsn @jugular @Lorraine_Morrow @Behold81 @guyank @sulisenator @davidgmitch

2 Likes

Fantastic, will check it out! Thanks for all your hard work on this, much appreciated.

1 Like

Hi Philip

Any joy with this on your end, please?

I’m getting a similar problem…all are showing at 5 C… the logs show the below for each zone device I refresh:
java.lang.NullPointerException: Cannot get property ‘schedule’ on null object @line 547 (doCall)

I also see this in other logs:
java.lang.NullPointerException: Cannot get property ‘dhwId’ on null object @line 1010 (doCall)

Thanks
RK

Out of curiosity do you have hot water in your system?

Hi - Nope, only using it for heating…
To confirm, similar to this one:
https://theevohomeshop.co.uk/honeywell-home-evohome-connected-value-packs/301-honeywell-evohome-starter-kit.html

Yeap. Maybe the hot water addition is causing this to installations that don’t have any. Let’s ask @nayelyz about this. Could this be true?

Hi @Rustom_Keeka ,

I’ve just had a look at this and think I’ve fixed it. :slight_smile:

As the log indicates, if your system does not have a “Hot Water Zone” then it fails on line 1010, so my solution was to add an extra null reference check around that section.

				// Hot Water Zone:
            if (tcs.dhw) {
                if (tcs.dhw.dhwId) {
                    def dni = generateDni(loc.locationInfo.locationId, gateway.gatewayInfo.gatewayId, tcs.systemId, tcs.dhw.dhwId )
                    def schedule = getEvohomeDHWSchedule(tcs.dhw.dhwId)
                    if (schedule) {
                        evohomeSchedules << ['zoneId': tcs.dhw.dhwId, 'dni': dni, 'schedule': schedule]
                    }
                }
            }

I updated the SmartApp code with the above change, published it and then changed a config value (Polling interval) in the app on my phone. When I checked the logs I could see a load more debug output, and the devices were working in the SmartThings app (I now see the correct actual & set point temperatures).

Whooop!

@Andremain I can make the change on a new branch in your repo and then submit a PR for you to review. OK? BTW Any objections to me changing the file extension of the app and DH to “.lau” so that I can syntax highlighting in my code editor (VS Code)?

Regards,

Phil

Sure Phil, thanks a lot! I will copy to my local projects as i am trying ti fix the alexa issue with nayelyz and upload the whole thing again.

@Andremain I don’t appear to be able to branch of submit changes to your master. Shall I just leave it with you to incorporate?

Phil

Don’t worry about it. I will add it manually

1 Like

To confirm - it now works for me too ! :slight_smile:

Thank you.

That is really awesome! I will be adding the changes shortly

Hi Phil,

Ok i think i got it. Please let me know if it works.

Hi @Andremain,

I was just reviewing your latest commit and noticed this change;

evohomeSchedules << ['zoneId': zone.zoneIsd, 'dni': dni, 'schedule': schedule]

The “zoneId” attribute has changed to "zoneIsd, is that right? It looks like a typo…

Phil

Nice catch! Indeed a typo…

1 Like