This is the forum archive of Homey. For more information about Homey, visit the Official Homey website.
The Homey Community has been moved to https://community.athom.com.
This forum is now read-only for archive purposes.
The Homey Community has been moved to https://community.athom.com.
This forum is now read-only for archive purposes.
Comments
I've successfully managed to update the quick action settings ( e.g. turn the heating off ) . I am now 'Homey-fying' the application, so it can be run from within Homey (and not with my userid and password hardcoded ;-) ).
When this is complete, I will publish the code on github for testing. Expect this to take a week or maybe a bit longer. First release is only setting the quick actions, with a 'permanent' timing.
There is minimal error checking in it right now, so I expect it to crash ;-)
WANTED: While my coding skills are pretty rusty itself, my graphic skills are even more rusty. If anyone can provide an 'icon.svg' for a Evohome thermostat and the Evohome control panel, that would help!
In parallel I am further testing reading and sending commands to individual thermostats.
What kind of triggers (when), conditions (and) and actions (then) would you like? Now is the time to submit feedback.
Also, I don;t know if it is possible to create "programs" in evohome. But if so, I would like to be able to change which program is being used. This is huge on the WAF. That way the evohome can operate standalone just fine based on programs like "At home", "On holiday", "no one home" etc. Which means, even in Homey doesn't function, the heating still works great and zone based.
In this scenario homey would only have to determine which program should run and override a specific zone if required. (for example the bathroom at 7 AM in the morning).
This would mean however, you should be able to grab the zones and programs through the API to be used in flows.
Hope this makes sense :-) But i have no idea what possibilities the evohome API allows for.
Here is the result: http://imgh.us/final-evohome.svg
so now we wait for the result
I just received the Homey, just for fun, so lets start integrating things
I actually already received your script and used it as inspiration and reference for my current development.
I am almost done with the first version, I will test it on my own Homey next week to make sure I don't brick the Homey and then publish the code on Github for other testers. If it works OK-ish, I will submit it to Homey's app-store.
First version is 'quick action' only. But in parallel I am also developing the second version, where you can set the individual thermostats/zones. I've got that 70 % working as well, but Homey-fying that code will take a bit more time.
I am sure there will be a working Evohome app beginning of June!
Find the source on : https://github.com/ralfvd/nl.bevlogenheid.evohome
Run it locally from your Mac or PC (or install it, but then you won't see any logging, which can help troubleshooting when things fail).
Fill in your username and password in 'settings' and then use a trigger card to quickAction your Evohome. Any chances should be displayed on the Evohome console within a couple of minutes ( The console only pulls information every so often). If you have the Evohome app on your phone, the changes should be quicker, but use refresh or restart the app on your phone.
All feedback welcome. If you paste any debug information, be sure to edit it, part of the debug information contains private information (e.g. your email address, street address etc ).
Happy bug hunting and setting your Evohome system via Homey!
PS: Keep some time between setting quick Actions. Evohome's systems doesn't like it when you update too frequently (this is also an issue with the official Evohome phone app). Give the system some time to adapt.
When the second version is available I will start testing
It contains:
Settings: system settings and logging ( not all logging is shown yet )
Devices: you can add and view your thermostats ( * ) ( current temperature and target temperature )
Actions: set quickAction
(*) : a bug will freeze the pairing when you add all devices at once. You can add multiple devices in one go, but not all remaining devices.
Another bug will crash the app when looking at the device card after pairing. After pairing: restart the app.
In the devices view, you can set the temperature with the slider screen, but it will not be send to Evohome yet, somehow the API-call to Evohome responds with 'invalid URL'. Pending investigation.
The quickActions work as expected.
For now, you can 'run' or 'install' the app via the Athom-cli . If you do a 'run', you will get a lot of output, this can be relevant when things go wrong ;-)
Any feedback (crashes, freezes, etc) is welcome!
I'm trying it now. Still a lot of bugs as you mentioned, but it pairs with my Honeywell Round Connected thermostat (which is just like a single zone Evohome I guess). I get the temperature readout and get the quick-actions in flow.
When I want to manually change the temperature setting I get the invalid URL error:
1) Setting the temperature is indeed not possible yet, it gives an error '400' as you can see
2) However in your case, on the first line and in the log, it states: 'undefined'. That should give an ID number of your zone. Could you send me some more logging, e.g. from the start? It is rather strange that you are able to see the temperature, but this update has an 'undefined'.
Edit remark 2) I've found the issue, it actually was not specific to your setup, but also on mine setup due to a last minute change. I've reverted that. You will now see the zoneID if you load the new GitHub source.
It will still give an 400 error, I am not sure why, the URL which I use to push the update with to the system, seems OK.
Be aware that if you set a target temperature via the device card, it is on 'permanently'. There is no way yet to cancel that (that will be an action card).
Could you also fix the insights-logging of the temperature? That way I can track the temperature in my living room.
Since you are using the built-in capability 'measure_temperature' you only need to call module.exports.realtime(...) on every temperature change. It should automatically create the insights log for you, so no need to do Homey.manager('insights').createEntry( ...)
Good luck!
0.3.4 has been published on GitHub : https://github.com/ralfvd/nl.bevlogenheid.evohome
- Added insights monitoring
Next actions:
- Tackle the pairing bug (so you don't need to restart the app after adding a thermostat/zone
- Add action cards for setting and resetting the thermostat. That will make the thermostats reading and setting more useful ;-)
I decided to de-install the device and the app completely before installing v0.3.4. Unfortunately I cannot pair anymore ....
EDIT: DOH!, nevermind. I forgot that I have to enter my credentials first in the settings screen before trying to add a device.....
@gruijter_dev how is the logging at your system ?
Or, if it works, go to the app settings, click on the red icon and send the output that shows in the pop-up.
Stack trace:
TypeError: Cannot read property 'getAllInformation' of undefined
at Object.module.exports.updateState (/drivers/thermostat/driver.js:105:18)
at module.exports.init (/drivers/thermostat/driver.js:68:14)
at /homey-app/manager/drivers.js:1:1841
at Array.forEach (native)
at eventListeners.clientDriverInit (/homey-app/manager/drivers.js:1:712)
at /homey-app/helpers/client.js:1:868
at Array.forEach (native)
at process.<anonymous> (/homey-app/helpers/client.js:1:835)
at emitTwo (events.js:87:13)
at process.emit (events.js:172:7)
and this is immediately after installing the app ? Or do you execute any actions (setting the settings, pairing the device) after installing the app ? This error seems like you are trying to pair the system, without entering the username and password in the settings.
I did a hard reset and installed all apps again.. Evohome is working now!
Thank you for creating this app!
App stops immediately after installing it again.
New version installed and running, but when i click on a zone the following error is showing:
reset_temperature:driver.capabilities.undefined.get does not exist