The Carrier Infinity Touch Controller has lacked any resemblance of home automation until recently. They just published an Alexa skill which tells me they are using the www.myinfinitytouch.carrier.com cloud accounts to control their thermostat. They also have mobile apps for it. It would be nice if OH2 could do the same.
http://alexa.amazon.com/spa/index.html#skills/dp/B01N1T72HY/?ref=skill_dsk_skb_sr_1
These links may be helpful for anyone interested in implementing this binding... http://dms.hvacpartners.com/docs/1010/Public/00/sw_openapi_gs.pdf
https://github.com/nebulous/infinitude
https://github.com/acd/infinitive
I'm also very interested if this could be done. Preferably I would not have to replace the standard my infinity capabilities.
In case it helps anyone, I was able to pull data and set holds with Infinitude (https://github.com/nebulous/infinitude) using the HTTP Binding. You'll also need the JSONPath and Map Transformations. I was pulling global data and information from Zone 1. I only have one zone.
The IP address and port have been changed to protect the innocent. I set the timeout to about 10 minutes because it seems to last updated timestamps in the Infinitude dashboard only update about every 10 minutes. Please note that I lost the weather on the thermostat because Infinitude uses a weather API where you can no longer get an API key.
conf/items/hvac.items
// Infinitude
Number:Temperature HvacOutsideTemperature "Outside Temperature [%.1f %unit%]" <temperature> { http="<[http://192.168.0.254:8080/api/status:600000:JSONPATH($.oat)]" }
Number HvacInsideHumidity "Indoor Humidity [%d%%]" <water> { http="<[http://192.168.0.254:8080/api/status:600000:JSONPATH($.zones[0].zone[0].rh)]" }
Number:Temperature HvacInsideTemperature "Inside Temperature [%d %unit%]" <temperature> { http="<[http://192.168.0.254:8080/api/status:600000:JSONPATH($.zones[0].zone[0].rt)]" }
Number:Temperature HvacHeatSetpoint "Heat Setpoint [%d %unit%]" <temperature> { http="<[http://192.168.0.254:8080/api/status:600000:JSONPATH($.zones[0].zone[0].htsp)]" }
Number:Temperature HvacCoolSetpoint "Cool Setpoint [%d %unit%]" <temperature> { http="<[http://192.168.0.254:8080/api/status:600000:JSONPATH($.zones[0].zone[0].clsp)]" }
String HvacActivity "HVAC Activity [MAP(hvac.map):%s]" <heating> { http="<[http://192.168.0.254:8080/api/status:600000:JSONPATH($.zones[0].zone[0].currentActivity)]" }
conf/transform/hvac.map
home=Home
away=Away
sleep=Sleep
wake=Wake
My main goal in interfacing with Infinitude was to automatically put the system into away mode when presence detection says that no one is home. This was something that we always forgot to do.
In addition to the switches below, I set up a countdown timer to detect if presence detection is still indicating away after 45 minutes. The rule for this switch will turn HvacAway off and on again to add an hour. You can pass the hold end time as a parameter (until), but I didn't want to mess around with calculating. This is especially true because I don't know how long the away will last.
When you turn these switches on, they send the command to Infinitude to change the activity on the thermostat. The Infinitude default hold length is about an hour. The thermostat is smart enough that making this more complex by thinking about how your schedule is set up isn't really necessary.
Switch HvacHome <switch> { http=">[ON:GET:http://192.168.0.254:8080/api/1/hold?hold=on&activity=home]" }
Switch HvacAway <switch> { http=">[ON:GET:http://192.168.0.254:8080/api/1/hold?hold=on&activity=away]" }
Most helpful comment
I'm also very interested if this could be done. Preferably I would not have to replace the standard my infinity capabilities.