logo elektroda
logo elektroda
X
logo elektroda

How to modify the hysteresis and temperature jump on the Avatto ZWT 198 thermostat

KarolKostanek 564 19
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
  • #1 21327488
    KarolKostanek
    Level 5  
    Warm welcome.

    I am looking for a willing person or very (very) simple instructions on how to modify the software in the avatto zwt 198 thermostat, specifically two parameters:
    Hysteresis 0.5 to 0.1
    The jump of the set temperature from 0.5 to 0.1.

    How to modify the hysteresis and temperature jump on the Avatto ZWT 198 thermostat .

    PCB designation 20230822 R9-433 V1.2

    Ps. This is my first topic if I have made any mistakes I am very sorry and ready for criticism.

    Greetings.
    AI: Do you already have any tools or software that you are trying to use to modify the thermostat software? .
    No
    AI: What is your experience with software modification or electronics? Do you need detailed step-by-step instructions? .
    Detailed step-by-step instructions.
  • ADVERTISEMENT
  • #2 21327643
    p.kaczmarek2
    Moderator Smart Home
    This module is signed WXU, I see correctly, not CBU?

    Is this a thermostat on WiFi or Zigbee? Hmm the name suggests Zigbee, that's what the network suggests too.

    What gateway are you connecting it to?
    Helpful post? Buy me a coffee.
  • #3 21327652
    KarolKostanek
    Level 5  
    It connects via Wifi to the Smart Life app.
    And the module is WXU
  • #4 21327666
    p.kaczmarek2
    Moderator Smart Home
    I guess it's not possible, does this by any chance additionally use a Zigbee gateway from Tuya that mediates the communication between the module and WiFi?
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #5 21327676
    KarolKostanek
    Level 5  
    No. It connects directly to the wifi. There are versions on zigbee but mine is the wifi version
  • #6 21327693
    p.kaczmarek2
    Moderator Smart Home
    That's interesting, because on the internet this model appears as zigbee:
    How to modify the hysteresis and temperature jump on the Avatto ZWT 198 thermostat .
    But Tuya's documentation about the WXU, however, says it's WiFi:
    Quote:

    WXU Module Datasheet
    Last Updated on : 2024-09-02 12:20:35download

    WXU is a low-power embedded Wi-Fi and Bluetooth combo module that Tuya has developed. Embedded with the Wi-Fi network protocol stack and rich library functions, it consists of a highly integrated RF chip (T103C-HL).
    .

    And this is the change you want to make while remaining with the Tuya application?

    I would guess that, if anything, the hysteresis is sent here from the WXU module to the MCU via the TuyaMCU, just a question if it is represented at all so that you can change it by as much as you want.... you would need to connect the UART and preview the packet.... TuyaMCU Analyzer - UART packet decoder for Tuya devices - dpID detector the worse thing is that the WXU is not flashable at the moment....
    Helpful post? Buy me a coffee.
  • #7 21327846
    KarolKostanek
    Level 5  
    I'm afraid it's beyond my abilities though. I have 1 unit free and would be more than happy to make it available to someone for testing, and if it works out, 4 units to convert.
  • ADVERTISEMENT
  • #9 21327945
    p.kaczmarek2
    Moderator Smart Home
    @sentimental I wanted to go in that direction too, but it looks like the subject author actually has a version on WiFi and not Zigbee.... Additionally, would the topic author want to use this device via Zigbee2MQTT? Would it be preferred that it stays in Tuya....

    but overall fact, the dpID in the WiFi version would probably be similar
    Helpful post? Buy me a coffee.
  • ADVERTISEMENT
  • #11 21327976
    KarolKostanek
    Level 5  
    Preferably in the tuya.
    But if there is no alternative to leaving the tuya then I'll still sign up as in their current form they are slightly useless.
  • #12 21328013
    Sentymentalny
    Level 14  
    The sources of information given earlier serve to understand how the device in question functions.
    Why are they "slightly useless in their current form"?
    Why change to a value of less than 0.5?
  • #13 21328020
    KarolKostanek
    Level 5  
    This is the case for me, and on the smallest setting, i.e. 0.5, it works in such a way that if I set it to 20.5, the heating is switched on at 20 and off at 21, and as this controls the underfloor heating, it goes up to 19.5 and after switching it off it goes up to 21.5, which results in a 2 degree difference.
  • #14 21328085
    Sentymentalny
    Level 14  
    Underfloor heating and its regulation of each heating zone is a subject of a river. Changing to a hysteresis value of less than 0.5 °C will not solve your dilemma.
  • #15 21328103
    KarolKostanek
    Level 5  
    I had previously made Arduino thermostats with a hysteresis of 0.1 and they kept the temperature nicely. The problem was that I lost a copy of the program and they were set to specific values and I couldn't expand them with a menu and a weekly programmer. This is why I decided to use such thermostats, but it was my oversight that 0.5 does not mean that the temperature will be +-0.25 where it would already be acceptable.
  • #16 21328174
    Sentymentalny
    Level 14  
    If you can, it is best to return these devices.
    The Avatto website does not even list this version so that you can consult the manual.
    However, there is a similar version, the 100, for which they state that the accuracy of the measurement is 1 °C.
    So how do you want a hysteresis of 0.1 when the measurement accuracy is 1 deg C?
    Besides, it is important where the sensor itself is mounted in this thermostat, etc.
    Can your model also work in Bluetooth mode, like the one shown in the Zigbee video?

    Out of curiosity, what temperature sensor did you have in your Arduino version?
  • #17 21328213
    KarolKostanek
    Level 5  
    Well, the option of giving it away is out of the question, as it took me too long to get round to fitting it.
    The sensor in the thermostat itself is exposed slightly behind the housing from the bottom of the installed device. The sensor itself reacts very sensitively to temperature changes, but between devices next to each other each shows a different temperature, which can be corrected in the options, so I understand it more by the measurement error of 1 deg C from the real temperature.
    With BT, I am combining to see if it is detected.

    As for the sensors on the Arduino it's ds18b20 in the case to92.

    Added after 7 [minutes]: .

    As for BT the device after BT is not detected.
    Over wifi it announces itself like this:
    How to modify the hysteresis and temperature jump on the Avatto ZWT 198 thermostat .
  • #18 21328285
    Sentymentalny
    Level 14  
    Although I am sceptical about the end result of setting the hysteresis to 0.1, the packet eavesdropping itself can be tried using @p.kaczmarek2's tutorials. Maybe @p.kaczmarek2 can give you a hint as to whether this makes sense, if you send the tapped packet with the "deadzone_temperature" value swapped e.g. from 0.5 to 0.1 will this work, or will there be an error or a restoration of the value stored in the Tuya application when the device communicates cyclically with Tuya.
  • #19 21328340
    p.kaczmarek2
    Moderator Smart Home
    If you plug in between the WiFi module and the WXU then you can do as @sentimental wrote , but it's a lot of fun, I was secretly hoping that either this is a Zigbee version though and that it will post with Zigbee2MQTT, or that this is a BK7231 version and you can program the WiFi module your way. Overall this is the first time I've seen a WXU module and it's not a BK7231 unfortunately....


    Sentymentalny wrote:
    package with changed "deadzone_temperature" value e.g. from 0.5 to 0.1 will this work
    .
    the question is also whether this communication supports chopping into 0.1 at all, there only integer values are sent, and if a variable is to support e.g. a step of 0.1 then Tuya sends e.g. 30 degrees as 300, and e.g. 12.5 degrees as 125. Worse, if Tuya assumes that the step is 0.5, it sometimes then sends the value divided by two - so 10 sends as 20, 10.5 as 21, etc.... you'd have to know how it is internally. Intercept the packet and see.

    Certainly it's unlikely that typical floating point numbers are sent there, float, TuyaMCU doesn't even support that. Only bool, enum, value (integer), bitmap (flags), raw (string of bytes) values are there.
    Helpful post? Buy me a coffee.
  • #20 21328522
    pikarel
    Level 38  
    Increase the thermal mass to be measured; each measuring element (diode junction, thermistor, saloon circuit) should be placed at least in a tube a few centimetres long, filled with a thermally conductive material (e.g. silicone paste, used for heat sinks), not in the air and still covered by a plastic casing.

    A sensor placed on the heat source will indicate its temperature immediately.
    You are only measuring the effect of its heating, so the inertia of the measurement will increase as the measurement hysteresis increases, but also as the distance of this sensor from the radiator increases.

    Also; are you doing nuclear research at home that you require such temperature constancy?
    :) .

Topic summary

The discussion focuses on modifying the hysteresis and temperature step settings of the Avatto ZWT 198 thermostat, specifically reducing hysteresis from 0.5 °C to 0.1 °C to improve underfloor heating control precision. The device uses a WXU WiFi module connected directly to the Smart Life app, not Zigbee. Attempts to modify these parameters via software face challenges due to the non-flashable WXU module and unclear internal communication protocols. Packet interception between the WiFi module and MCU using UART and TuyaMCU Analyzer is suggested to identify if the "deadzone_temperature" parameter can be adjusted below 0.5 °C, but the device likely only supports integer values scaled by a factor (e.g., 0.5 °C steps encoded as integers). The thermostat sensor is a sensitive internal unit, but measurement accuracy is approximately ±1 °C, limiting the practical benefit of reducing hysteresis below 0.5 °C. Alternatives include using Zigbee2MQTT with similar models or custom Arduino thermostats with DS18B20 sensors for finer control. Increasing the thermal mass around the sensor is recommended to stabilize temperature readings. Overall, software modification is complex and may not yield the desired precision due to hardware and protocol constraints.
Summary generated by the language model.
ADVERTISEMENT