I got the same CT100 Plus thermostat with type 0x6402 and product ID 0x0100. I am currently writing a C++ program to control this thermostat using OpenZWave libraries. The only way for me to get it to work properly is to modify the file “manufacturer_specific.xml” by changing id=“0001” to id=“0100”. Without modifying the file, you will not be able to get the “relative humidity” and “heating setpoint”. By the way, I bought 16 of these thermostats and all of their product IDs are 0x0100.
tkosiyat,
thanks for response.
That is exactly what I did, since HASS no longer has “manufacturer_specific.xml” file. I installed Domoticz on a seperate PI, moved my USB Z stick over to that PI, modified the “manufacturer_specific.xml” file and changed the ID from 0001 to 0100 and Domoticz recognized the thermostat. I then took the zwcfg_*.xml file from Domoticz and copied it to my config directory on HASS and am now I’m in business, I see all of the necessary entities.
So since you got a large number of these and they are all the same, looks like OpenZWave has the error. Is that a safe assumption.
I am not quite sure whether the problem is on the OpenZWave side. I looked at https://products.z-wavealliance.org/products/1798 and under the “Product Data in XML”, it says the type is “6402” and the Product ID is “0001”.
The other thing is that a number of command-classes of this product (in the above Product Data in XML) end with "V2". For example, for the command class thermostat setpoint, it says “COMMAND_CLASS_THERMOSTAT_SETPOINT_V2”. But in zwcfg.xml, it simply says “COMMAND_CLASS_THERMOSTAT_SETPOINT”. So, I am not quite sure whether there are other incompatibility problems. This thermostat is a Z-Wave plus device but my UZB stick is just a Z-Wave. May be it is something that I have to investigate.
So far, I have no problem controlling the thermostat or receiving data from the thermostat.
This is probably an off topic. When I tested with multiple controllers and multiple thermostats (each controller mated with a unique thermostat) and I put all of them in the same room. I started to see an unusual behavior. All thermostats start sending same (unchanged) data to controllers periodically (sometimes every 5 seconds sometimes every 10 seconds). As a result, all my thermostats run out of battery within two weeks. This made me thinking about thermostat’s firmware (also because of product ID 0100 vs 0001). Unfortunately, there is no information about firmware update on the manufacturer website.
I got it to work under hassio…I took my Z-Stick and plugged it into a raspberry pi running Domoticz…on there I edited the “manufacturer_specific.xml” and changed id=“0001” to id=“0100”. After a couple of reboots it recognized the thermostats as in the “manufacturer_specific.xml” file. I then took the zwcfg_*.xml file, copied it over to my hassio system and rebooted. The thermostat came up as expected.
Since my workaround…there has been an update to the “manufacturer_specific.xml” on github which now reflects the id as both “0001” and “0100”. I haven’t tested it…but I assume it should work
Hello, I’m new to Hassio and I’m also in the process of configuring the CT100 Plus thermostat. Is anyone having issues with the target temp for heating? I can pull the target temp attribute when the mode is set to ‘Cool’ but I don’t see anything that matches up with the heating target temp? Am I blind? I do have all other states available within hassio (current temp, relative humidity, mode, etc.) so I’m pretty sure it’s working as expected. The ‘temperature’ attribute which updates during ‘Cool’ mode doesn’t update when in ‘Heat’ mode.
@buckshome, Here’s what I see in developer tools > states:
Mine has the same behavior as yours (I think), so in a card I have both entities, like this:
If the mode is set to Heat, changing the Cooling Target Temp doesn’t have an effect. And vice versa, if the mode is set to Cool, changing the Heating Target Temp doesn’t do anything. Actually, changing either does update the value, but doesn’t have an effect on the “opposite” operation mode.
I’d sure love to see someone’s config that has a more streamlined card, either a standard card or state-card-tile or state-card-custom-ui or something. Anything more like the controls on an actual thermostat.
Fwiw, I’m running hass.io on a pi3 and am up to the latest version. It’s been working for me like this for months without having to change any type or ID. What may be complicating things for the OP and others up in this thread (possibly) is that this thermostat has several variations and all have the same CT-100 model number. There was/is one sold by Amazon (like mine) and one by Lowe’s a year or more ago and I think two or three others. They all had variations in their type and ID. I believe the same happened for the CT-101.
See, that’s exactly what I’m missing. The “…heating_1” entity in the developer tools. I’ve removed and added the node multiple times (secure and non-secure) but still no deal. Did you remember doing anything special for that entity to appear?
I’m running the latest version on a Pi3 as well. This is the CT100 Plus thermostat, not the older CT100 (non z-wave plus). I don’t see any firmware updates for the thermostat on their website.
Might have to try out the GoControl z-wave plus enabled thermostat if I can’t get this to work properly.
I having a similar issue as you except for the CT101 version of the thermostat. Here is my posting -> CT-101 Thermostat / zwcfg_xxxxx.xml File Question.
I am unable to set the heat temp because I believe the thermostat is incorrectly identified. It comes up as Product type=6501 id=b name=Unknown: type=6501, id=000b /> .
The id=000b isn’t listed in the manufacturer_specific.xml file. I am trying to find out if I add this line -> Product type=6501 id=000b name=CT101 Thermostat config=2gig/ct101.xml/> to the file will it recognize it and load it correctly.
No, I didn’t have to fiddle with anything. It’s a CT-100 from Amazon several years ago. I also have a new CT-101 that I might give a try and see what happens. Actually, looking at it now, it’s a CT-101-L (from Lowe’s and “works with Iris”) and doesn’t show Z-Wave Plus, so it looks to be older–it’s just new to me.
Have you tried Configuration > Z-Wave Manager > Nodes > Heal Node?
I think adding a known existing type and name in manufacturer_specific.xml would work. That worked for me on another hub I used (not hass.io) when the CT-100 support wasn’t fully there.
I tried just adding it to the manufacturer_specific.xml file and restarted HA however I didn’t see any change. Did you have to remove and re-add the device to the network for it to be recognized properly?
No, it is not necessary, but once you add the new line with your device’s particulars to manufacturer_specific.xml, you should be able to add the device and have it recognized.
woohoo, I think this might actually work. I had to remove the node then re-add it and it appears to be recognized now correctly.
On a side note however, I can not see the new node in the zwave configuration panel : (
Hmm…I’m not using the docker version and I’m not seeing a manufacturer_specific.xml file anywhere in HASSIO. I definitely don’t have the openzwave directories mentioned in previous posts. Hassio does have a built-in z-wave configuration tool but I don’t see where I would edit the manufacturer information. Glad you got yours working photo64! All I seem to have is the zwcfg_xxxx.xml file but that gets overwritten each time the device is removed and added to the z-wave network.
The key to mine working was adding it to the manufacturer_specific.xml. I am not using Docker so I have no clue where to find it in that setup but if you do hopefully that will work for you too. Oddly it still doesn’t show in the zwave configuration panel node drop down and I have even added additional zwave switches since then but still not showing.
I’m also trying to set up a CT100 plus.
I’m a little lost because I’m not sure what entities I’m supposed to be seeing. My thermostat is recognized as:
<Manufacturer id="98" name="2GIG Technologies">
<Product type="6402" id="100" name="Unknown: type=6402, id=0100" />
And the entities I get are (I named it “tstat_up”):
climate.tstat_up_cooling_1 Off
climate.tstat_up_cooling_1_2 Off
climate.tstat_up_dry_air Off
climate.tstat_up_dry_air_2 Off
climate.tstat_up_moist_air Off
climate.tstat_up_moist_air_2 Off
climate.tstat_up_unused_3 Off
climate.tstat_up_unused_3_2 Off
What is “dry air” and “moist air”? Are those types of heating modes or something? Or am I missing a heating mode?
I am not sure what people are talking about with “manufacturer_specific.xml” - I do not seem to have any such file.
My understanding is the “manufacturer_specific.xml” file is used when adding a new zwave device. If the device is listed it then points to another specific .xml file that provides the settings to set the device up properly. In my case my "product Type and Id were not listed in this file however by adding them to the file and having it mimic one that was there it then allowed it to add it correctly. It does look like yours is listed and looking in the “ct100.xml” specific file I see:
Product xmlns=‘http://code.google.com/p/open-zwave/’>
!-- This thermostat’s setpoint descriptions are 0 based, not 1 -->
CommandClass id=“67” base=“0” />
/Product>
This looks similar to mine where this command class was not being set properly and I wasn’t getting all my settings. If you see "base=“1"” for your command class 67 then it’s probably not right
I am using the AIO pre Dec2016 setup so my file is located under this path -> /srv/hass/hass_venv/lib/python3.5/site-packages/python_openzwave/ozw_config. Depending on how you set up HA (hasbian/hassio) will depend on where that file is.
Good luck!
Here is a snapshot of the “manufacturer_specific.xml” file for the 2GIG Technologies:
Manufacturer id=“0040” name=“2B Electronics”>
/Manufacturer>
Manufacturer id=“0098” name=“2GIG Technologies”>
Product type=“3200” id=“015e” name=“CT50e Thermostat” config=“2gig/ct50e.xml”/>
Product type=“1e10” id=“0158” name=“CT30 Thermostat” config=“2gig/ct30.xml”/>
Product type=“1e12” id=“015c” name=“CT30 Thermostat” config=“2gig/ct30.xml”/>
Product type=“1e12” id=“015e” name=“CT30 Thermostat” config=“2gig/ct30.xml”/>
Product type=“6401” id=“0105” name=“CT100 Thermostat” config=“2gig/ct100.xml”/>
Product type=“6401” id=“0107” name=“CT100 Thermostat USA” config=“2gig/ct100.xml”/>
Product type=“6402” id=“0100” name=“CT100 Plus Thermostat” config=“2gig/ct100.xml”/>
Product type=“6402” id=“0001” name=“CT100 Plus Thermostat” config=“2gig/ct100.xml”/>
Product type=“6501” id=“000b” name=“CT101 Thermostat (Iris)” config=“2gig/ct101.xml”/> I added this line
Product type=“6501” id=“000c” name=“CT101 Thermostat (Iris)” config=“2gig/ct101.xml”/>
Product type=“6501” id=“000d” name=“CT101 Thermostat” config=“2gig/ct101.xml”/>
Ok, getting warmer. I did find manufacturer_specific.xml once you showed me where to look. Mine does not have an entry for “CT100 Plus Thermostat” like yours does. It has “CT100 Thermostat” only.
So my first suspicion is that python_openzwave and/or openzwave are not up to date. I seem to have
/lib/python3.5/site-packages/python_openzwave-0.4.0.35
I am not sure how to check my underlying openzwave library version.
Are these two dependencies automtically upgraded when I do an upgrade via
python3 -m pip install --upgrade homeassistant
?
I am not sure if they get upgraded however you should be able to add both the CT 100 Plus lines in that file, restart HA and try it re-add the thermostat. Looks like all of the CT100’s are pointing to the same ct100.xml file. Just verify you have the ct100.xml file in the 2gig folder.
I think I see. Match the type and id numbers to what were originally discovered, then point at that same file. Then exclude and reinclude?
Yes, restart HA after adding to the file then exclude and re-include the device