Binding Radio Thermostat?

Great discussion! I am new to OpenHAB and looking for programmable thermostat with connectivity to OpenHAB or simillar system compatible with MySensors. Have anybody tried CT100 or CT101 thermostats?. They seem to be similar to CT80 but battery powered.
Thank you

I ended up purchasing a WiFi module for my CT30 because zwave was proving to be more trouble that it was worth. So far Iā€™m not having much better luck with the WiFi.

Iā€™m using the 20160910-SNAPSHOT.jar. At first I couldnā€™t get it to report much of anything accurately. Setpoints would not populate at all, it was reporting the Temperature as 3* F, etc. I finally set up the cloud service and the thermostat then began reporting correctly, and setpoints work with the t_heat and t_cool keys. I still have a couple of problems though.

1: Updating the setpoints from basic UI or iOS app seems to take a double tap to register correctly. I adjust it up, for example, from the iOS app and the thermostat adjust correctly, but the display in the app reverts to the previous value. If I hit up again, it will catch up. This makes it somewhat useless to use remotely as you canā€™t trust whether what OH is telling you is the correct value or not.

2: When I switch modes, e.g. from Heat to Off back to Heat, the setpoint defaults back to the ā€œscheduledā€ value of 70 degrees in my case, rather than the last value it was set to. I put the thermostat into Simple mode since I want the control to be done from OH rather than the built in schedule. Has anyone else run into issues with this?

Update:

When setting the a_heat value using curl, the setpoint is retained when switching between modes. Using a_heat in my items seems to cause the binding to die, however.
Logs show:

2017-02-04 21:21:57.280 [INFO ] [b.core.service.AbstractActiveService] - radiothermostat has been started
2017-02-04 21:21:57.280 [INFO ] [b.core.service.AbstractActiveService] - radiothermostat has been shut down
2017-02-04 21:22:04.906 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Error during the execution of startup rule 'GetStartupStates': org.eclipse.smarthome.core.library.types.DecimalType

Actually it seems to cause OH to die completely. As you can see, some of my rules fail, and my MQTT devices also become unresponsive.

Another Update:

I got my CT30 to a point where Iā€™m happy with how itā€™s working. I ended up using the http binding rather that the specific binding. I borrowed heavily from Scotā€™s post #5. This solved both of my problems of the setpoint in the sitemap not updating correctly and saving the setpoint when switching between heating and cooling.

This is not at all a criticism of Ericā€™s work on the Radio Thermostat bindingā€¦ itā€™s just a limitation of how the API works. You have to post updates to the a_heat/a_cool values in order for the setpoint to be retained, but the API returns the value for the setpoint as h_heat/h_coolā€¦ at least as far as Iā€™ve been able to determine.

ETA:
Further looking through the API, there is a value for ā€œt_type_postā€ Integer value that indicates whether a POST on t_heat/t_cool will result in temporary or absolute temperature change.
It is indicated a depreciated, however, and although I get a success response when attempting to set it to 1 it does not actually change.

Ran into a strange issue yesterday.

I had some problems with my heating and had to shut the furnace off. This must have reset the thermostat somewhat. I got a flashing yellow light but when the furnace was powered an all returned to normal. Only later did I realize that the temps in OpenHab didnā€™t match the thermostat.

Come to find out, both my thermostats (only one is used in the binding at the moment) had their IP addresses changed. Once I adjusted the addresses in OpenHab it connected immediately.

Not an issue with the binding, but a heads up for anyone that may have work done on their heating system, make sure you check the IP addresses afterwards!

I did IP reservation in my DHCP server for my thermostats to avoid that sort of problem.

Thank you for all of the effort put into this, particularly to ejthill!

Can somebody point me in the right direction to get this binding into my openhab2 install?

My experience with openhab/openhab2 is minimal (a self hosted web interface for a wifi thermostat is what got me interested!). I have a fresh install on ubuntu performed via the repo. I attempted adding the .jar file linked above into my addons folder but no success. I then tried copying the org.openhab.binding.radiothermostat directory from the github linked above and doing a maven mvn clean install, but ran into errors.

I figured Iā€™d post here to see if Iā€™m even going the correct direction before trying to track down the source of the errorsā€¦

Does anyone know how to do the rules with the zwave device?

I to am new and looking at some setup for openhab2.2 for the radio thermostat 3m50 wifi. I have searched around and not had much luck. Did you ever get any ideas or assistance or a path forward?
Thanks in advance

Use the http binding and the config specified by @clach04. I have a CT80 w/ the zwave and wifi module. I only use the wifi module given the extra functionality it affords when compared w/ the zwave binding.

Is there anything special I need to use the older bindings to work with openhab2.2?
I am new to openhab and from reading I thought old openhab and the newer openhab2 made significant changes in the way it is configured.

Where did the Jar file go? None of the links seem to work.

do you have the jar file?

It seems that this radiothermostat binding was abandoned.

If your device has a Z-Wave module, you can use the Z-Wave Binding
If you only have WiFi, then use the http binding and the setup from post #4

Thank you so much for the reply! I have 2 CT80 thermostats with WiFi.
I followed post #4 I assumed that the post needed the jar file. Apparently I have no idea what I am doing :slight_smile: I have OH2 on a Pi is there a place (probably well known by all) that shows how to do these HTTP bindings? I have searched a lot and have not found a whole lot.

You can look here for information on the http binding: https://www.openhab.org/addons/bindings/http1/#binding-configuration

I followed the instructions in post #5 above and it worked reasonably well for me. Iā€™m not too interested in getting the status - Iā€™m mostly interested in automating control and giving Alexa access and that worked.

Iā€™m just getting started with openHAB2 and my only ā€œdeviceā€ is a Radio Thermostat CT50.

Iā€™ve been playing with the Paper UI. Went to look for the flat files and discovered they donā€™t exist. Now Iā€™m working on creating my ā€œconfigā€ from flat files.

@clach04 & @p912s posts (#4 &#5) are pretty helpful and Iā€™m getting to understand the .items files, etc. But no one posted a .things file. Can someone post an, example, .things file for the CT50 using the HTTP binding? Particularly what is the syntax for the ā€œbinding IDā€ and ā€œtype IDā€? The other parameters appear to be userā€™s choice (ie: thing ID & label). A .things file shown to ā€œmatchā€ either @clach04ā€™s or @p912sā€™s examples .items file would be most helpful.

Almost no examples (ie: here https://docs.openhab.org/v2.1/addons/bindings/http1/readme.html) even reference Things. They go (as the above posts do) straight to Items. Is defining a Things even necessary?

For the method in #4 and #5 you donā€™t need a Thing as you guessed.

Thanks @jswim788. Iā€™ve just copied the items, rules, transforms, etc from @clach04. I see a CT50 ā€œavailable sitemapā€ in the BasicUI and can click on it and see some readouts/buttons but none of them do anything. I saw that the rules have a hardcoded IP address (this seems dumb). I changed it to the IP of my CT50 but still no luck. Then I saw the code comment about changing how the CT50 was referenced in a .cfg file so I went and found the http.cfg under the services folder and updated it to configure a device with the ct50-cache name. Iā€™ve also tried replacing the ct50-cache with a hardcoded ā€œ192.168.1.34ā€ (my thermostatā€™s IP). Still no luck at the moment.

Iā€™ve also tried the same sorts of things with @p912sā€™s code. His sitemap works even less well it would appear. Still looks like my system isnā€™t actually reaching out to my CT50 @ http://192.168.1.34.

I know my CT50 works and is accessible. By running the command ā€œcurl http://192.168.1.34/tstatā€ I get back a JSON message of the current parameters of the thermostat. Additionally I was able to define a network:device:thermostat Thing which shows as an ā€œOnlineā€ Thing in the Paper UI.

Even if I donā€™t need to, do I want to define a Thing for this thermostat? Can I decouple the rules, etc from the specific piece of hardware? Iā€™d much prefer to define the behavior of a CT50 and then instantiate it (Iā€™d like to get a 2nd if this one works out well). If so is this done by abstracting away the IP address in the Rules file and defining a ā€œThingā€. If so, is it a ā€œnetworkā€ thing or an ā€œhttpā€ thing?

Do you have the http binding installed? If you donā€™t have it, that might explain the issue. Are you seeing anything in the logs? There must be something there to explain what is happening.