luc-ass / homebridge-evohome

Homebridge plugin for Honeywell Evohome
29 stars 16 forks source link

Possible to change 10 minute set time? #7

Closed CelticWebSolutions closed 6 years ago

CelticWebSolutions commented 8 years ago

I see it's in your road map to change temperature until next scheduled event, the current 10 minutes is a little low, is it straight forward enough to change the time from 10 minutes to 60 minutes?

I've been looking for a way to "boost" the heating for just an hour and I've never been able to do it. Instead, whenever I set the heating temperature change from the schedule, I either have to remember to change it back after an hour or just leave it so that it resets on the next update.

is the current 10 minute setting in the code somewhere that I could change to 60 please?

Thanks for your work, so far this implementation works great for me :)

CelticWebSolutions commented 8 years ago

I asked without hunting for it! I just found it on line 217 of the index :) this is exactly what I wanted :)

I'm going to change it to 60 and see how I get on 👍

luc-ass commented 8 years ago

we should really move this to the config-part.

nico81 commented 7 years ago

Any news here? I also found the minutes variable, but setting temp until the next scheduled event would be the best option. Luc-ass are you still working on this project?

luc-ass commented 7 years ago

I could not get it to work. Any ideas how to poll the next time from the API?

nico81 commented 7 years ago

In the setHeatSetpoint function, if you set "Hold" as status and you DON'T send "endDate" value the temperature change will be permanent.

var body = JSON.stringify({
    Value: targetTemperature,
    Status: "Hold", // Temporary, Hold, Scheduled
});
luc-ass commented 7 years ago

That's right but it will always force me to go back to the central unit to change it back to schedule. Don't know if that actually improves the function.

nico81 commented 7 years ago

Right. Have you seen TCC API Reference? You can also test all the methods and see the response directly there. https://tccna.honeywell.com/WebApi/Help/LogIn You can login with the AppID

luc-ass commented 7 years ago

I looked at it and it looks very promising! I found api/schedule?deviceId={deviceId} but can't get it to work from here (I am not at home for the weekend). Would you do an example poll and post it here? I think this could be a viable solution to finding the nextTime!

nico81 commented 7 years ago

I get a "400/Bad Request" status. [ { "code": "ScheduleNotSupported" } ]

luc-ass commented 7 years ago

Did you use a thermostat id?

nico81 commented 7 years ago

Yes, I tried a valve thermostat id and the evohome touch console id, same message. I also tried to get all information about a thermostat with api/devices/{deviceId}/thermostat?allData={allData}, but no info about schedule: { "units": "Celsius", "indoorTemperature": 21.0800, "outdoorTemperature": 128.0000, "outdoorTemperatureAvailable": false, "outdoorHumidity": 128.0000, "outdootHumidityAvailable": false, "indoorHumidity": 128.0000, "indoorTemperatureStatus": "Measured", "indoorHumidityStatus": "NotAvailable", "outdoorTemperatureStatus": "NotAvailable", "outdoorHumidityStatus": "NotAvailable", "isCommercial": false, "allowedModes": [ "Heat", "Off" ], "deadband": 0.0000, "minHeatSetpoint": 5.0000, "maxHeatSetpoint": 35.0000, "minCoolSetpoint": 50.0000, "maxCoolSetpoint": 90.0000, "changeableValues": { "mode": "Off", "heatSetpoint": { "value": 21.0, "status": "Scheduled" }, "vacationHoldDays": 0 }, "scheduleCapable": false, "vacationHoldChangeable": false, "vacationHoldCancelable": false, "scheduleHeatSp": 0.0000, "scheduleCoolSp": 0.0000 }

luc-ass commented 7 years ago

https://tccna.honeywell.com/WebAPI/emea/api/v1/temperatureZone/{ZoneId}/schedule

I found this one on a homeautomation-forum. Does this work? Sorry that I can not test this at the moment...

nico81 commented 7 years ago

Nope, URL not found. I also read the thread on homeautomation forum, that link should be the old API (v1), or maybe the application id hasn't the permission to read the temperatureZone sector, but there is no evidence of that in the online documentation. Somehow it could be done, because the iPhone app can do it, I also tried to sniff the web requests through a proxy from my iPhone but it uses https connection so I can't se the full URL. I shoud use some https sniffer software, but it's not easy and fast.

simonh29 commented 7 years ago

What happens if you remove line 101 so here is no next time?

Alternatively, what if you GET the heatingSetpointValue will that return the next time that can be used to PUT back with the new set point value?

luc-ass commented 7 years ago

Both good ideas. Sadly the last time I checked sending no nextTime causes the API to throw an error.

Similarly the GET function goes not give back the nextTime... would be awesome if they changed that... I'll check if something changed but I doubt it.

brownad commented 7 years ago

Why not do similar to Alexa skill. Changes until 3am... might be a reason they (TCC) haven't got the change until next schedule working yet

CelticWebSolutions commented 7 years ago

When I set via Alexa skill it sets till next auto change?

brownad commented 7 years ago

You're right, I think when it first rolled out it was 3am..

Sent from my iPhone

On 7 Jan 2017, at 14:48, Celtic Web Solutions notifications@github.com wrote:

When I set via Alexa skill it sets till next auto change?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

CelticWebSolutions commented 7 years ago

Yes I think it did, was really pointless having heating running till 3am no matter what! So which Alexa could deal with times as well.

I have this plugin just setup to turn rads on for one hour, I find that is the more sensible option. I don't use Siri much now though anyway.

brownad commented 7 years ago

The plugin sometimes fails to update if using HomeKit app though. I get the failure emails from TCC

Sent from my iPhone

On 7 Jan 2017, at 15:28, Celtic Web Solutions notifications@github.com wrote:

Yes I think it did, was really pointless having heating running till 3am no matter what! So which Alexa could deal with times as well.

I have this plugin just setup to turn rads on for one hour, I find that is the more sensible option. I don't use Siri much now though anyway.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

brownad commented 7 years ago

Any thoughts on this? Would be cool to move all automation to HomeKit and away from clunky evohome

luc-ass commented 7 years ago

I've spent my fair share of time trying to figure out how to do this and started hating Honeywell for not accepting nextTime:false.

If you have any ideas I will be happy to look into it but requesting next time from server seems like a freakin' nightmare...

brownad commented 7 years ago

Fair enough. I'll see if there's a way to get to this.

How did waterstock get around it? I remember using the home assistant evohome (uses waterstocks api) and that worked.

Sent from my iPhone

On 15 Mar 2017, at 07:26, Lucas Gasenzer notifications@github.com wrote:

I've spent my fair share of time trying to figure out how to do this and started hating Honeywell for not accepting nextTime:false.

If you have any ideas I will be happy to look into it but requesting next time from server seems like a freakin' nightmare...

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

luc-ass commented 6 years ago

should be working within the latest release (0.2.0)