nebulous / infinitude

Open control of Carrier/Bryant thermostats
MIT License
225 stars 50 forks source link

Initial Setup Assistance? #108

Closed appleguru closed 3 years ago

appleguru commented 4 years ago

Perhaps I'm missing something, but how do I actually control my thermostat via this interface? (For example, how can I adjust the set point and / or fan speed?)

I just got this setup on an RPI, this is what I see now:

Screen Shot 2020-09-16 at 12 16 15 AM

Also, is infinitude.json documented somewhere? I currently have mine set to:

{"app_secret":"Pogotudinal","pass_reqs":15,"serial_socket":"127.0.0.1:23","serial_tty":""}

But this is completely a guess as I'm not really sure what is supposed to be set in there.

I do not have an RS485 interface currently. I have a Bryant branded SYSTXBBWEC01B controlling a Carrier Infinity system.

Thanks in advance for any help!

appleguru commented 4 years ago

Small update, seems I can change the settings via an api call, something like: http://192.168.1.175/api/1/activity/manual?htsp=72&fan=low

Is there not a way to control this via the built in web UI? Is that read only? Or?

nebulous commented 4 years ago

To change setpoints in the web interface, see the Comfort Profile tab. For example, in the screenshot below the stat is being put into manual mode at 69f at medium fan speed until 1:15pm. The api call also works, as you mentioned.

image

nebulous commented 4 years ago

re configuration variables: I added a description column to the env var descriptions(which have lowercase analogs in infinitude.json) here https://github.com/nebulous/infinitude#docker

appleguru commented 4 years ago

Thanks. Is this polling the carrier servers for data or getting it locally from the thermostat? (What’s the impact of adjusting the pass_reqs variable?)

Also, is there any way to set the fan to a specific RPM? Something like what infinitive can do: https://github.com/acd/infinitive

(Or maybe that is also just setting auto/low/med/high but displaying the RPM above the UI widget?)

nebulous commented 4 years ago

Infinitude is a replacement for Carrier's web service to make your system controllable directly. It also has the option to keep in touch with Carrier's web services if you still want to use the Carrier phone app/etc.

Here's a picture of the basic process: image

Infinitive controls the thermostat in a different way, by emulating a System Access Module on the RS485 bus. Technically it can do anything that the hardware supports, but relies on the community to reverse engineer the tables/registers for each device. So practically speaking Infinitive and Infinitude do the same thing in different ways: provide an interface for users to control their own thermostat with software.

adamurban commented 4 years ago

Thanks, that diagram is super helpful. Should probably include it in the read me :-)

So setting pass_reqs to 0 is the correct way to disable talking to carrier's servers? Or?

Also, I thought I read somewhere that there was a bug /that using the native app + infinitude broke things and that it had to be one or the other?

nebulous commented 4 years ago

So setting pass_reqs to 0 is the correct way to disable talking to carrier's servers? Or?

yep. And if you need to pass requests, try to set the timeout sufficiently long to be polite to Carrier's infrastructure.

Also, I thought I read somewhere that there was a bug /that using the native app + infinitude broke things and that it had to be one or the other?

I don't believe that's the case at the present time, but if you discover a reproducible problem, feel free to file a bug, or better yet a patch!