Page 1 of 1

TKB Home TZ10.XX/TZ10.36 thermostat

Posted: Monday 11 December 2017 11:10
by brucez
Hello all!

I'm about to receive a bunch of TKB Home thermostats. It's not supported by OpenZwave yet, but I don't think it would be difficult to implement it. Anyone have done something like this?
In case of success I will share my experiences here.

Thanks! :)

Re: TKB Home TZ10.XX/TZ10.36 thermostat

Posted: Monday 11 December 2017 19:40
by LouiS22
It's not that hard to get it supported by openzwave, there's a nice howto @ their github.

Re: TKB Home TZ10.XX/TZ10.36 thermostat

Posted: Thursday 21 December 2017 11:07
by brucez
Hi all!

Now I'm configuring the TZ10. Now the setpoint working well, but I have the following issue:
I have updated openzwave xml, and now I have a tz10.xml for testing.
I have added the Thermostat Operating state also.

Code: Select all

<CommandClass id="66">
                <Value type="string" genre="user" instance="1" index="0" label="Operating State" units="" value="Idle" />
  </CommandClass>
Tried with adding read-only also, but did not help.
When I'm including the node to the network, In the log I can see:
2017-12-21 10:58:04.470 OpenZWave: Value_Added: Node: 35 (0x23), CommandClass: THERMOSTAT OPERATING STATE, Label: Operating State, Instance: 1
2017-12-21 10:58:04.471 OpenZWave: Unhandled class: 0x42 (THERMOSTAT OPERATING STATE), NodeID: 35 (0x23), Index: 0, Instance: 1

in OZW control panel, I can see
Operating State: Idle
and it is changing state to Heating according to the setpoint and thermostat. So in OZW it is working well, but it looks like there's a bug in domoticz, handling THERMOSTAT OPERATING STATE.

Any idea?

Thanks!

Re: TKB Home TZ10.XX/TZ10.36 thermostat

Posted: Thursday 28 December 2017 12:24
by jmartinr64
brucez wrote: Thursday 21 December 2017 11:07 Hi all!

Now I'm configuring the TZ10. Now the setpoint working well, but I have the following issue:
I have updated openzwave xml, and now I have a tz10.xml for testing.
I have added the Thermostat Operating state also.

Code: Select all

<CommandClass id="66">
                <Value type="string" genre="user" instance="1" index="0" label="Operating State" units="" value="Idle" />
  </CommandClass>
Tried with adding read-only also, but did not help.
When I'm including the node to the network, In the log I can see:
2017-12-21 10:58:04.470 OpenZWave: Value_Added: Node: 35 (0x23), CommandClass: THERMOSTAT OPERATING STATE, Label: Operating State, Instance: 1
2017-12-21 10:58:04.471 OpenZWave: Unhandled class: 0x42 (THERMOSTAT OPERATING STATE), NodeID: 35 (0x23), Index: 0, Instance: 1

in OZW control panel, I can see
Operating State: Idle
and it is changing state to Heating according to the setpoint and thermostat. So in OZW it is working well, but it looks like there's a bug in domoticz, handling THERMOSTAT OPERATING STATE.

Any idea?

Thanks!
Dear Bruce
I´ve just install this thermostate as well. So I´ve have de same issues than you in my domoticz setup.
Could you you please explain me how to change openzwave xml file (what I need add), and how to create a tz10.xml file. Even if you can share in this post where you found the explanation about how to do that it´ll be great for me also

Best regards

Re: TKB Home TZ10.XX/TZ10.36 thermostat

Posted: Thursday 28 December 2017 12:48
by brucez
Hi!

Of course! :)

I added this line to the manufacturer_specific.xml in the Wenzhou section:

Code: Select all

<Product type="0201" id="0501" name="TZ10.XX Wall Thermostat" config="wenzhou/tz10.xml"/>
This is the whole section with the line included above:

Code: Select all

<Manufacturer id="0118" name="Wenzhou TKB Control System">
                <Product type="0001" id="0001" name="TZ88 Smart Energy Plug-in Switch" config="wenzhou/tz88.xml"/>
                <Product type="0001" id="0011" name="TZ88 Smart Energy Plug-in Switch" config="wenzhou/tz88.xml"/>
                <Product type="0002" id="0001" name="SM103 Door/Window Sensor" config="wenzhou/sm103.xml"/>
                <Product type="0002" id="0002" name="TSP01 3 in 1 PIR Motion Sensor" config="wenzhou/tsp01.xml" />
                <Product type="0003" id="0002" name="TZ68 On/Off Switch Socket" config="wenzhou/tz68.xml"/>
                <Product type="0003" id="0003" name="TZ56 Wall Switch On/Off" config="wenzhou/tz56.xml"/>
                <Product type="0003" id="0004" name="TZ55 Wall Switch Dimmer" config="wenzhou/tz55.xml"/>
                <Product type="0004" id="0002" name="TZ69 Smart energy plug in switch" config="wenzhou/tz69.xml"/>
                <Product type="0311" id="0103" name="TZ69E Smart energy plug in switch" config="wenzhou/tz69.xml"/>
                <Product type="0116" id="3119" name="TZ69F Smart energy plug in switch" config="wenzhou/tz69.xml"/>
                <Product type="000b" id="0001" name="ST812 Flood Detector" config="everspring/st812.xml"/>
                <Product type="0808" id="0808" name="TZ65 Dual Wall Dimmer" config="wenzhou/tz65d.xml"/>
                <Product type="0101" id="0103" name="TZ68 On/Off Switch Socket" config="wenzhou/tz68.xml"/>
                <Product type="0102" id="1020" name="TZ66D Dual Wall Switch" config="wenzhou/tz66d.xml"/>
                <Product type="0202" id="0611" name="TZ67 Wall Plug Dimmer" config="wenzhou/tz67.xml"/>
                <Product type="0201" id="0501" name="TZ10.XX Wall Thermostat" config="wenzhou/tz10.xml"/>
        </Manufacturer>
Then this is my tz10.xml:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<Product xmlns='http://code.google.com/p/open-zwave/'>
   <!-- COMMAND_CLASS_BASIC does not respond to requests -->
  <CommandClass id="32" action="remove" />
  <!-- This thermostat's setpoint descriptions are 0 based -->
  <CommandClass id="66">
                <Value type="string" genre="user" instance="1" index="0" label="Operating State" units=" mode" value="Idle" />
  </CommandClass>
  <CommandClass id="67" base="0" override_precision="2" />
</Product>
This xml was copied from another thermostat device xml.

After these modification, you will be able to pair the thermostat and it will be recognized by Domoticz. Thermostat operating state won't work yet. But you can create a script/blockly, to turn on the heating, when the termostat temperature is below the thermstat setpoint temperature.

Please be aware, that once you update domoticz and it contains new openzwave files, you will need to repeate the changes. But your previously included devices will reamain functional. So if you don't plan to include more of this thermostat, it's enough to modify the files once.

I will update here once I will be able to handle operating state also. ;)

I hope it helps! :)

Regards,

Brucez

Re: TKB Home TZ10.XX/TZ10.36 thermostat

Posted: Friday 16 February 2018 10:22
by jmartinr64
Hi Brucez

Sorry for my late response, I could not implement yet your xml file. After implementation, It is working sucessfully ..( with the limitations that you mention above).
Anyway I hope that domoticz they would provide it full support in incoming releases. Honestly this thermostat has nice appearance (for sure it isn´t a google NEXT) even the technical specs are fine versus cost, for an auxiliary room (like a bedroom, laundry room as so on).

Thank you very much for your support
I´ll follow up this thread for updates

Best Regards
Jmartinr64

Re: TKB Home TZ10.XX/TZ10.36 thermostat

Posted: Thursday 19 July 2018 12:33
by sach
Hi Guys,
Just wondering if there was any progress with this?

I am getting my house renovated and have purchased 6 of these thermostats to control the underfloor heating but not had a chance to try them out yet.

Thanks

Sach

Re: TKB Home TZ10.XX/TZ10.36 thermostat

Posted: Saturday 25 August 2018 19:47
by muurman
LouiS22 wrote: Monday 11 December 2017 19:40 It's not that hard to get it supported by openzwave, there's a nice howto @ their github.
please post a link.

regards,
erik muurman

Re: TKB Home TZ10.XX/TZ10.36 thermostat

Posted: Saturday 25 August 2018 20:47
by muurman
i now created the file with the instructions above and also changed the manufacturer_specific.xml
I then restarted the raspberry.
with the tz10/36 off i press 3 times the manual switch. then the wifi symbol flikkers 2 or 3 times but domoticz doesn't detect it

Re: TKB Home TZ10.XX/TZ10.36 thermostat

Posted: Friday 02 November 2018 16:11
by sach
brucez wrote: Thursday 28 December 2017 12:48 Hi!

Of course! :)

I added this line to the manufacturer_specific.xml in the Wenzhou section:

Code: Select all

<Product type="0201" id="0501" name="TZ10.XX Wall Thermostat" config="wenzhou/tz10.xml"/>
This is the whole section with the line included above:

Code: Select all

<Manufacturer id="0118" name="Wenzhou TKB Control System">
                <Product type="0001" id="0001" name="TZ88 Smart Energy Plug-in Switch" config="wenzhou/tz88.xml"/>
                <Product type="0001" id="0011" name="TZ88 Smart Energy Plug-in Switch" config="wenzhou/tz88.xml"/>
                <Product type="0002" id="0001" name="SM103 Door/Window Sensor" config="wenzhou/sm103.xml"/>
                <Product type="0002" id="0002" name="TSP01 3 in 1 PIR Motion Sensor" config="wenzhou/tsp01.xml" />
                <Product type="0003" id="0002" name="TZ68 On/Off Switch Socket" config="wenzhou/tz68.xml"/>
                <Product type="0003" id="0003" name="TZ56 Wall Switch On/Off" config="wenzhou/tz56.xml"/>
                <Product type="0003" id="0004" name="TZ55 Wall Switch Dimmer" config="wenzhou/tz55.xml"/>
                <Product type="0004" id="0002" name="TZ69 Smart energy plug in switch" config="wenzhou/tz69.xml"/>
                <Product type="0311" id="0103" name="TZ69E Smart energy plug in switch" config="wenzhou/tz69.xml"/>
                <Product type="0116" id="3119" name="TZ69F Smart energy plug in switch" config="wenzhou/tz69.xml"/>
                <Product type="000b" id="0001" name="ST812 Flood Detector" config="everspring/st812.xml"/>
                <Product type="0808" id="0808" name="TZ65 Dual Wall Dimmer" config="wenzhou/tz65d.xml"/>
                <Product type="0101" id="0103" name="TZ68 On/Off Switch Socket" config="wenzhou/tz68.xml"/>
                <Product type="0102" id="1020" name="TZ66D Dual Wall Switch" config="wenzhou/tz66d.xml"/>
                <Product type="0202" id="0611" name="TZ67 Wall Plug Dimmer" config="wenzhou/tz67.xml"/>
                <Product type="0201" id="0501" name="TZ10.XX Wall Thermostat" config="wenzhou/tz10.xml"/>
        </Manufacturer>
Then this is my tz10.xml:

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<Product xmlns='http://code.google.com/p/open-zwave/'>
   <!-- COMMAND_CLASS_BASIC does not respond to requests -->
  <CommandClass id="32" action="remove" />
  <!-- This thermostat's setpoint descriptions are 0 based -->
  <CommandClass id="66">
                <Value type="string" genre="user" instance="1" index="0" label="Operating State" units=" mode" value="Idle" />
  </CommandClass>
  <CommandClass id="67" base="0" override_precision="2" />
</Product>
This xml was copied from another thermostat device xml.

After these modification, you will be able to pair the thermostat and it will be recognized by Domoticz. Thermostat operating state won't work yet. But you can create a script/blockly, to turn on the heating, when the termostat temperature is below the thermstat setpoint temperature.

Please be aware, that once you update domoticz and it contains new openzwave files, you will need to repeate the changes. But your previously included devices will reamain functional. So if you don't plan to include more of this thermostat, it's enough to modify the files once.

I will update here once I will be able to handle operating state also. ;)

I hope it helps! :)

Regards,

Brucez
Thank you for this @Brucez.
I have managed to import the device and can change the setpoint. Building work is still ongoing so not had a chance to play with it properly yet.
Is it possible to turn the device on/off via Domoticz? I didn't get a chance to try that.

Sach

Re: TKB Home TZ10.XX/TZ10.36 thermostat

Posted: Friday 01 February 2019 19:05
by jmartinr64
Chears

Please somebody found out some progress for this thermostar, here or github. remains issues to handling THERMOSTAT OPERATING STATE.

Thank you very much.

Re: TKB Home TZ10.XX/TZ10.36 thermostat

Posted: Friday 01 February 2019 19:07
by sach
I get this in the logs but it still works fine.
All 5 of mine work without issues.

Re: TKB Home TZ10.XX/TZ10.36 thermostat

Posted: Saturday 02 February 2019 12:06
by jmartinr64
Hi Sach
I did the same setup that Brucez on manufacturer_specific.xml file and create a new tz10.xml following the instruction above. Nevertheless I can´t manage any setpoint always remain to zero :(
Do you have the same behaviour?

Greetings

Re: TKB Home TZ10.XX/TZ10.36 thermostat

Posted: Thursday 07 February 2019 0:00
by jmartinr64
Dear

I´ve update to least beta version and suddenly everything is working fine :lol: :lol: :lol: :lol: :lol:
I can manage the setpoint temperature, off the thermosthat even set a scheduling with difference temperature

Best regards

Re: TKB Home TZ10.XX/TZ10.36 thermostat

Posted: Tuesday 09 July 2019 11:57
by sach
Just installed the latest Beta and its broken again:-(

Re: TKB Home TZ10.XX/TZ10.36 thermostat

Posted: Wednesday 10 July 2019 0:07
by dobber
Here is a good tz10.xml I wrote.

Mode and Setpoint for heating are working in ozw 1.6 and Domoticz 4.10977 and up.
Also operating state is visible under ozw control panel.
Need to edit the files and press refresh node info under zwave. Also dont forget to allow new units to get the setpoint icon.

At one point or another I will try to learn how to send the code to OZW git so we don't need to edit config every time ozw changes in Domoticz nightlies. Anyone care to help me?

Code updated 2019-07-14 @ 20:00 CET

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<Product xmlns='https://github.com/OpenZWave/open-zwave' Revision="1">
  <!-- Configuration Parameters -->
    <CommandClass id="112">
        <Value type="list" genre="config" instance="1" index="4" label="Memory function" value="1" size="1">
            <Help>
                The thermostat will recover the operating mode after a power failure.
            </Help>
            <Item label="Disabled" value="0" />
            <Item label="Enabled" value="1" />
        </Value>
    </CommandClass>
    <CommandClass id="64" name="COMMAND_CLASS_THERMOSTAT_MODE" request_flags="4" innif="true">
        <Instance index="1" />
        <Value type="list" genre="user" instance="1" index="0" label="Mode" units="" poll_intensity="0" min="0" max="0" vindex="1" size="1">
            <Item label="Off" value="0" />
            <Item label="Heat" value="1" />
        </Value>
        <SupportedModes>
            <Mode index="0" label="Off" />
            <Mode index="1" label="Heat" />
        </SupportedModes>
    </CommandClass>
    <CommandClass id="66" name="COMMAND_CLASS_THERMOSTAT_OPERATING_STATE">
        <Value type="string" genre="user" instance="1" index="0" label="Operating State" value="Idle" read_only="true"/>
    </CommandClass>
    <CommandClass id="67" name="COMMAND_CLASS_THERMOSTAT_SETPOINT">
        <Compatibility>
            <OverridePrecision>2</OverridePrecision>
            <Base>0</Base>
        </Compatibility>
    </CommandClass>

  <!-- Association Groups -->
    <CommandClass id="133">
        <Associations num_groups="1">
            <Group index="2" label="State control" max_associations="2"/>
        </Associations>
    </CommandClass>
</Product>

Re: TKB Home TZ10.XX/TZ10.36 thermostat

Posted: Saturday 21 September 2019 9:44
by juvie
dobber wrote: Wednesday 10 July 2019 0:07 Here is a good tz10.xml I wrote.

Mode and Setpoint for heating are working in ozw 1.6 and Domoticz 4.10977 and up.
Also operating state is visible under ozw control panel.
Need to edit the files and press refresh node info under zwave. Also dont forget to allow new units to get the setpoint icon.
Only thing that is working for me is thermostat mode.

In a TKB manual (http://www.tkbhome.com/upimg/file/1202375524450.pdf) you can find device's supported commands.
By example command class = 66 (COMMAND_CLASS_THERMOSTAT_OPERATING_STATE) is not on the list of supported commands. And why precision needs to be overridden?
Unfortunately manual is not precise - it does not report time class command (it is discovered by controller) and it does not specify what configuration settings in has.

Config just needs set point and mode adjustments. Everything else I leave to figure out by z-wave controller itself.

So for command class COMMAND_CLASS_THERMOSTAT_SETPOINT, my config looks like this:

Code: Select all

<CommandClass id="67" name="COMMAND_CLASS_THERMOSTAT_SETPOINT" base="0">
       <Instance index="1" />
       <Value type="decimal" genre="user" instance="1" index="1" label="Heating 1" units="C" read_only="false" write_only="false" min="5" max="35" value="20" />
 </CommandClass>
 
Min max temps are set according to manual.
After that setpoint change started to work. At least for me.

Re: TKB Home TZ10.XX/TZ10.36 thermostat

Posted: Thursday 24 October 2019 21:21
by dinth
Hey. Is there any update on this?
I have contacted TKB asking for information required to implement support for TKB but they only sent me the list of command classes (same as in the manual) and some odd configuration XML file.

I would love to help more, but the guide how to write OZW device files sounds like black magic for me.

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<ProductExport xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Id>3474</Id>
  <Name>Heating Thermostat</Name>
  <Brand>TKB Home</Brand>
  <Identifier>TZ10.36</Identifier>
  <OemVersion>HW: 1 FW: 1.00:13</OemVersion>
  <HardwarePlatform>ZM5202</HardwarePlatform>
  <ZWaveVersion>6.51.06</ZWaveVersion>
  <LibraryType>Enhanced 232 Slave</LibraryType>
  <DeviceType>Thermostat - HVAC</DeviceType>
  <RoleType>Listening Sleeping Slave</RoleType>
  <ManufacturerId>0x0118</ManufacturerId>
  <ProductTypeId>0x0311</ProductTypeId>
  <ProductId>0x0502</ProductId>
  <UserIcon>0x1200</UserIcon>
  <InstallerIcon>0x1202</InstallerIcon>
  <SupportedCommandClasses />
  <ControlledCommandClasses />
  <AssociationGroups>
    <AssociationGroupExport>
      <Description>Z-Wave Plus Lifeline</Description>
      <GroupNumber>1</GroupNumber>
      <MaximumNodes>5</MaximumNodes>
    </AssociationGroupExport>
  </AssociationGroups>
  <ConfigurationParameters>
    <ConfigurationParameterExport>
      <Name>Memory Function</Name>
      <Description>device by default value is 1, when the value is 0, device memory function not open; when the value is 1,open device memory function.</Description>
      <ParameterNumber>4</ParameterNumber>
      <Size>1</Size>
      <DefaultValue>0</DefaultValue>
      <minValue>0</minValue>
      <maxValue>1</maxValue>
    </ConfigurationParameterExport>
  </ConfigurationParameters>  
    
  <SupportedMultilevelSensors>
    <MultilevelSensorType>
      <sensor_type>Air Temperature</sensor_type>
      <sensor_type_key>0x01</sensor_type_key>
    </MultilevelSensorType>
  </SupportedMultilevelSensors>
  <ControlledMultilevelSensors />
  <Supports_NWI>true</Supports_NWI>
  <Supports_Explorer>true</Supports_Explorer>
  <is_FLiRS>true</is_FLiRS>
</ProductExport>