Provide Valve_Status from the Tuya SDK for Thermostatic Valves

I have a typical UK type Central Heating System with an Oil fired Boiler and Radiators in each room. I have recently purchased Tuya Thermostatic Radiator Valve Heads which I am currently controlling via the Smart Life App.

At present I am using a dumb Room Thermostat/ Programmer to control switching on and off the boiler but I would like to automate this using the combined status of the 7 valve heads and the use of a smart switch which I have also purchased.

I need to know for each radiator whether the valve is open or closed. This could be either by testing that the Current room temperature is higher than the Set Temperature or by obtaining the Valve Status and checking that it is closed.

The Smart Life app shows, Selected Temperature, Current Temperature and Percentage Valve Opening (Valve Status). Apilio appears to only give me the first two of these, in addition to Child Lock and Mode of which I have no interest at present.

Incidentally when shown on the Dashboard/Devices , these temperatures are inflated by a factor of 10 from their actual values but I understand that this is already being addressed as an issue.

In order to achieve my goal I either need to be able to access the Percentage Valve Opening or to be able to calculate the difference between the Selected Temperature and Current temperature of each valve and when all these equate to zero to operate a smart switch to turn the boiler off and when it does not equate to zero and the boiler is turned off, to turn it on again.

I initially broached this problem in the forum and reponses from @pebneter and @Drivingforce indicated that the Valve _Status was not a value provided in the SDK.

I had a frustrating conversation with Tuya support which was fruitless but in subsequent rearch I found this page which defines the Standard Status Set for Thermostats Standard Status Set and I believe that it does show that the value that I want is indeed in the Standard Status Set for Thermostats

and this is the value that I want.

I’m hoping that you are able to provide this value as it will be a lot easier than comparing the Current and Set Temperatures which as I understand is a feature that Apilio cannot provide at present.

I’m satisfied that this “simple” provision will enable me to use Apilio for this automation project. I’ve created Tap-to-Run functions (for lack of a better word) in Smart Life to turn the Boiler on and off . I have also written a simple Logic Block here in Apilio using comparisons of Set Temperature to literal values in order to test by logic and the functionality and as I move the Set temperature either side of my literal my boiler (actually an led light connected to the smart switch) turns on and off.

Looking forward to your response

3 Likes

Hi @doncevans ,

thanks for providing your findings in such a detailed manner - very helpful!
I compared the product specifications of one of your products, and it was indeed one of the “Thermostat” / wk category. But the information you are looking for is not in the specification provided for this particular product by the API.
I did only a quick check and will consult with our Tuya expert to confirm!!

So why is it not there, if it is covered by the standard status set? It is most probably because they are not mandatory:


Source: https://developer.tuya.com/en/docs/iot/standarddescription?id=K9i5ql6waswzq

The app might have more information available than the Cloud API covers because according to our understanding, there is another non-public API (or some sorts of status catalog) that can be used by their own app, but by 3rd party service providers.

1 Like

Hi @pebneter ,

I’d like to send you a copy of the e-mail conversations I had with Tuya.

I’m pretty sure that they are saying to me that if the device provides this status then it is available to you but you appear to be saying that they don’t provide this status.

I can see from using the Smart Life App that the valve itself IS providing the status.

It seems fundamental to me to provide this value as the whole process of automation goes out of the window for a system using thermostatic valves if you can’t shut off the heat source when none of the radiators are calling for heat.

Please can you advise the best way for me to forward this e-mail conversation to you

Thanks

1 Like

Yes, totally agree this is counter-intuitive behaviour from Tuya.

I hope you received the e-mail I sent you @pebneter .

I believe I have found a workaround for now which will enable me to use Apilio as the core of my automation now and in the future.

In my initial statement I said that the value of the Child Lock status was of no concern to me. I have found that in a Smart Life Automation that I can test the value of Valve Status for being either 0 or greater than zero and setting the Child Lock on the valve or releasing it. A Condition in Apilio Web App then tests the Child Lock status for all valves on a simple AND condition, the positive action for which, is to turn the boiler off and the negative is to turn the boiler on.

I have tested this using a lamp connected to my smart switch and it appears to work smoothly.

I still hope that in the future that you are able to provide the other values available from the thermostatic valve but for now I thank you for your help.

Hey @doncevans ,
yes I got your message and will respond soon. In short: the more detailed analysis confirmed the suspected root cause, so unfortunately not much we can do to improve your experience right now :frowning:

Thanks for sharing your creative workaround! :man_mechanic: