Page 27 of 47 FirstFirst ... 17222324252627282930313237 ... LastLast
Results 261 to 270 of 470

Thread: Decoded - EvoHome API access to control remotely.

  1. #261
    Automated Home Lurker
    Join Date
    May 2016
    Posts
    5

    Default

    That should work. My plan is to have a schedule for Summer and another for Winter.

    Another option for your scenario would be to write a a little function to change all zones by an amount so for example if we called it ChangeAllSetTemp we could do

    ChangeAllSetTemp +1.5

    or

    ChangeAllSetTemp -2.5

    If your interested in that approach let me know.

  2. #262
    Automated Home Legend
    Join Date
    Jul 2014
    Posts
    1,314

    Default

    That would be brilliant if you could alter all setpoints for all zones by -1C

  3. #263
    Automated Home Legend
    Join Date
    Sep 2014
    Location
    Scotland
    Posts
    2,204

    Default

    Quote Originally Posted by bruce_miranda View Post
    This is great.

    I am not happy with the current ECO Quick Action. Regardless of what anyone says, I think 3C from current set-point is useless. I wanted to implement my own ECO functionality. It's very easily to do that on the current set points, but my-ECO would get messed up at the schedule changes. So what I was thinking of doing is downloading the entire schedule of set points for all zones and then reducing them by 0.5 - 2.5C and then uploading the entire schedule again.
    I agree 3 degress is pretty useless - it's too great a jump in my opinion. A 1 or 2 degree setback would be more useful.

    It also has a bug - despite not being documented anywhere, it won't set any zones back to lower than 15 degrees, worse still, in addition to that any zone that would be below 15 degrees after subtracting 3 degrees doesn't get changed at all! So a zone set to 18 will drop back to 15 degrees, but a zone set to 17 degrees stays at 17 degrees! Instead of a 17 degree zone also being reduced to 15 degrees, which is what I think they intended, even though it wasn't documented. Useless...
    Last edited by DBMandrake; 31st May 2016 at 04:51 PM.

  4. #264
    Automated Home Lurker
    Join Date
    May 2016
    Posts
    5

    Default

    Ok - Try this - Insert it into the evohome.ps1 file

    Code:
    Function ChangeZoneScheduleTemps ($Filter,$Diff)
    {
        if($Filter -eq "All"){
            $ZoneList=$ZonesStatus
        }
        else {
            $ZoneList=$ZonesStatus| where-object {$_.name -match $Filter}
        }
        foreach ($Zone in $ZoneList){
            Write-Host "Changing" $Zone.name
            $ZoneId=$Zone.zoneId
            $DailySchedules=GetRequest "temperatureZone/$ZoneId/schedule"
            $Schedule=$DailySchedules.dailySchedules
            foreach ($Day in $Schedule){
                foreach ($Switch in $Day.switchpoints){
                    $Switch.temperature=$Switch.temperature+$Diff
                }
            }
            $DailySchedules=@{DailySchedules=$Schedule}
            $ScheduleJSON=ConvertTo-Json $DailySchedules -Depth 10
            $ScheduleJSON=$ScheduleJSON -Replace "temperature","TargetTemperature"
            PutRequest "temperatureZone/$ZoneId/schedule" $ScheduleJSON
        }
    }
    To use the function there are two parameters. The first is a filter which can be something like "Bed" or "All", it is not case sensitive and it will look for the text anywhere in the zone name and you dont need quotes. So if you type Bed it will match "Bedroom 1" and "bedroom 2" and "The bedroom".
    The second parameter is the amount you want to adjust, so to increase by 1.5 degrees just type 1.5, to decrease by 2.5 degrees type -2.5

    Code:
    ChangeZoneScheduleTemps All -1.5
    ChangeZoneScheduleTemps Bed 2.5
    Let me know how you get on.
    Last edited by bmccluskey; 1st June 2016 at 12:24 AM.

  5. #265
    Automated Home Legend
    Join Date
    Jul 2014
    Posts
    1,314

    Default

    That works a treat. Thank you.

  6. #266
    Automated Home Lurker
    Join Date
    May 2016
    Posts
    2

    Default

    More than one location.
    This code seems great but I am getting the following error code:

    Traceback (most recent call last):
    File "EvohomeTemperature.py", line 48, in <module>
    for device in client.temperatures():
    File "C:\Program Files\Python27\lib\site-packages\evohomeclient2\__init__.py", line 124, in temperatures
    return self._get_single_heating_system().temperatures()
    File "C:\Program Files\Python27\lib\site-packages\evohomeclient2\__init__.py", line 35, in _get_single_heating_system
    raise Exception("More than one location available")
    Exception: More than one location available

    I do have two units on my network as I have two boilers.
    Is there a work around?

  7. #267
    Automated Home Sr Member
    Join Date
    Oct 2015
    Posts
    80

    Default

    I read on a recent thread (can't find it now) about how the DHW reporting seems to be lagging. Check batteries and signal strength was mentioned.

    Anyway - I had the same with my DWH graphing with big jumps in the reporting time frames. Been happening for a short while.

    So I looked further and found the reported device data coming back on the API call (to get all the temps etc) was not always giving the entire device list. Sometimes only a couple of devices are returned out of 14 devices.

    This is a new "feature" - can somebody else please check to see if they see the same.
    Thanks.

  8. #268
    Automated Home Lurker
    Join Date
    May 2016
    Posts
    2

    Default

    I have managed to modify the code from watchforstock on 30th March 2014, 10:30 PM to show the measured temperatures and set point temperatures of all my zones by adding data from the code line <fullData = json.loads(response.content)[0]> and <fullData = json.loads(response.content)[1] together.

    Unfortunately I cannot see how to do the same with the EvohomeTemperature.py code. I am only a rather basic python coder.

    Any pointers would be appreciated.

  9. #269
    Automated Home Jr Member
    Join Date
    Feb 2016
    Posts
    13

    Default Evologger

    Hey guys,

    Standing on the shoulders of giants here, I have pulled together things I have learned in this thread and elsewhere and knocked up a python based app "evologger".
    It is designed to be extensible and currently it supports the following:
    - Reading actual and target radiator temps from EvoHome
    - Reading the actual Hot Water temp from EvoHome - target temp is either a config.ini value when the HW is on or 0 when it is off
    - Reading the outside temp from forecast.io

    Writing to:
    - csv - do what you like with this
    - influxdb - which you can then hook up to grafana or similar
    - plot.ly - though this is currently only plotting the actual temps - based on the EvohomeTemperature.py script
    - emoncms - err... someone posted about this somewhere (here?) and I added it but I don't use it.

    I started out with plot.ly and the script from around here but now I use influxdb + grafana so the others haven't really had any much love, but they do seem to work.

    Anyway it's here if you want to play around with it - you may find it useful: https://github.com/freeranger/evologger

    I am not a python programmer at all, so it is undoubtedly very rough so please take that into consideration!
    I have tested it on a mac and a nitrous.io instance but it should be ok anywhere that supports python 2.7

    Happy to accept any suggestions/PR's and I'll see what I can do when I have time.

    It would be great if Honeywell made the documented API available publicly and made all features available through the API - there's so much more we could do with it!

  10. #270
    Automated Home Jr Member
    Join Date
    Jun 2016
    Posts
    11

    Default Possibly dumb nembie question

    Hi all

    This is a great resource, very many thanks to everyone who has spent so much time reverse engineering the protocol. Like so many others, I was pointed here by Honeywell, to whom I replied that this being 2016 and them having released the API for their security systems, with far more severe implications when exposed by poor programming, I can't understand why they won't release the Evohome API.

    I am not a python programmer, but I do develop home automation systems on Crestron and have a great interest in developing a Crestron module for Evohome, initially for my own use given that my Evohome system was installed today!

    Now to the dumb question. Do I need to register on the developer.honeywell.com website to get the required authorisations, or is it simply the "http://getconnected.honeywell.com/en/evohome" credentials? I see you pass username and password in most requests, but at the same time I see a Base64 encoded 'Authorization' parameter being passed so wondering where these came from.

    ...and finally, I did try to find all this information here and on the github site but I might well have missed it. If so, please be kind.....it's wasn't due to lack of effort!

    Many thanks again and kind regards
    Marc

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •