TKB Home TZ10.XX/TZ10.36 thermostat

For Z-Wave related questions in Domoticz

Moderator: leecollings

Post Reply
brucez
Posts: 15
Joined: Tuesday 19 January 2016 13:39
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

TKB Home TZ10.XX/TZ10.36 thermostat

Post 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! :)
User avatar
LouiS22
Posts: 433
Joined: Friday 27 February 2015 13:21
Target OS: Raspberry Pi / ODroid
Domoticz version: beta
Location: Budapest, Hungary
Contact:

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

Post by LouiS22 »

It's not that hard to get it supported by openzwave, there's a nice howto @ their github.
brucez
Posts: 15
Joined: Tuesday 19 January 2016 13:39
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

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

Post 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!
User avatar
jmartinr64
Posts: 8
Joined: Friday 01 December 2017 23:15
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.10.419
Location: Madrid
Contact:

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

Post 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
brucez
Posts: 15
Joined: Tuesday 19 January 2016 13:39
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

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

Post 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
User avatar
jmartinr64
Posts: 8
Joined: Friday 01 December 2017 23:15
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.10.419
Location: Madrid
Contact:

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

Post 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
sach
Posts: 111
Joined: Wednesday 12 October 2016 14:33
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

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

Post 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
muurman
Posts: 4
Joined: Saturday 25 August 2018 19:46
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

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

Post 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
muurman
Posts: 4
Joined: Saturday 25 August 2018 19:46
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

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

Post 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
sach
Posts: 111
Joined: Wednesday 12 October 2016 14:33
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

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

Post 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
User avatar
jmartinr64
Posts: 8
Joined: Friday 01 December 2017 23:15
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.10.419
Location: Madrid
Contact:

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

Post 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.
sach
Posts: 111
Joined: Wednesday 12 October 2016 14:33
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

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

Post by sach »

I get this in the logs but it still works fine.
All 5 of mine work without issues.
User avatar
jmartinr64
Posts: 8
Joined: Friday 01 December 2017 23:15
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.10.419
Location: Madrid
Contact:

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

Post 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
Attachments
2019-02-02 12_02_04-Domoticz.png
2019-02-02 12_02_04-Domoticz.png (20.46 KiB) Viewed 2553 times
User avatar
jmartinr64
Posts: 8
Joined: Friday 01 December 2017 23:15
Target OS: Raspberry Pi / ODroid
Domoticz version: 4.10.419
Location: Madrid
Contact:

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

Post 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
sach
Posts: 111
Joined: Wednesday 12 October 2016 14:33
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

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

Post by sach »

Just installed the latest Beta and its broken again:-(
dobber
Posts: 19
Joined: Saturday 07 May 2016 1:43
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta..
Location: Sweden
Contact:

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

Post 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>
juvie
Posts: 1
Joined: Wednesday 01 May 2019 10:51
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

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

Post 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.
dinth
Posts: 2
Joined: Thursday 24 October 2019 21:16
Target OS: -
Domoticz version:
Contact:

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

Post 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>
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest