ollo69 / ha_tuya_custom

Tuya Custom Component for testing
Apache License 2.0
39 stars 18 forks source link

Tuya Thermostat unavailable after setting temperature #49

Open hribaro1 opened 3 years ago

hribaro1 commented 3 years ago

Tuya original and Tuya custom integration behave the same. After reload of the hassio server temperature is shown on climate entity.

Besides wrong temperature showing which can be adjusted also setting of temperature does not work Switch on and switch off of the thermostat works normally. If I want to set the temperature to different value then immediately thermostat becomes unavailable in hassio lovelace.

Thank you in advance for possible suggestions.

Regards Robert

myrulezzz commented 3 years ago

Hi I am having the same issue. Able to switch on, switch off thermostat but changing the temperature makes thermostat unavailable in home assistant. After restarting home assistant it shows the correct status to off. I am facing another one issue. Temperature is shown: 21C is 2.1 in home assistant I have tried adding in configuration.yaml tuya_custom: devices_config:

Kirmas commented 3 years ago

Its looks like https://github.com/PaulAnnekov/tuyaha/issues/51#issue-738530665

If this is a problem with out of range value you can change set_temperature function in the tuyaha/devices/climate.py file

def set_temperature(self, temperature): """Set new target temperature."""

    # the value used to set temperature is scaled based on the configured divider
    divider = self._divider or 1

    if not self.has_decimal():
        temp_val = round(float(temperature))
        set_val = temp_val * divider
    else:
        temp_val = float(temperature)
        set_val = round(temp_val * divider)
    if self._control_device("temperatureSet", {"value": temp_val}):
        self._update_data("temperature", set_val)

I think about pull request with this small fix but not sure that all devise work similar

ollo69 commented 3 years ago

I have always wondered if the scaled temperature should be reset to the original value in the set method, but to maintain back compatibility and not having received any related issue until now, I set it as is. As soon as I will have some time available, I will align this component to the version that will be released shortly in HA (PR is already merged), then I will proceed to define here a new parameter to manage this situation. If everything will be ok, I will proceed with the PRs in TuyaHA and HA. Just be patient, full process will take some times...

ollo69 commented 3 years ago

Just released a new version to fix this issue. There is a ne config option (Set Temperature value divided) that should be checked for this case. Before pushing PR in TuyaHA and HA, please confirm this fix the issue.

myrulezzz commented 3 years ago

Hi ollo, So you mean to updata tuya custom in my custom_components folder?

On Tue, 8 Dec 2020 at 18:59 ollo69 notifications@github.com wrote:

Just released a new version to fix this issue. There is a ne config option (Set Temperature value divided) that should be checked for this case. Before pushing PR in TuyaHA and HA, please confirm this fix the issue.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ollo69/ha_tuya_custom/issues/49#issuecomment-740762371, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKIY77IWR62EMZPDFYY73H3STZLPPANCNFSM4TNVJ3AQ .

ollo69 commented 3 years ago

Yes, please. You can also use HACS for this if you installed it. Tuya Custom is intended to test new functionality for Tuya integration before pushing change in official library and integration, to speed-up test and avoid breaking change. Now this component is aligned again with last version of official HA integration and device configuration is managed from UI integration options.

myrulezzz commented 3 years ago

I have updated throw hacs.still when changing temp from ha the thermostat goes to unavailable state and the temp instead for example 24 is 2.4

On Tue, 8 Dec 2020 at 19:10 ollo69 notifications@github.com wrote:

Yes, please. You can also use HACS for this if you installed it. Tuya Custom is intended to test new functionality for Tuya integration before pushing change in official library and integration, to speed-up test and avoid breaking change. Now this component is aligned again with last version of official HA integration and device configuration is managed from UI integration options.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ollo69/ha_tuya_custom/issues/49#issuecomment-740769800, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKIY77MIHBCWTFGMMJTD3RDSTZMXHANCNFSM4TNVJ3AQ .

ollo69 commented 3 years ago

Did you change some option in integration page? Can you check HA logs for error message?

myrulezzz commented 3 years ago

Logger: custom_components.tuya_custom.tuyaha.tuyaapi Source: custom_components/tuya_custom/tuyaha/tuyaapi.py:273 Integration: Tuya Custom (documentation https://www.home-assistant.io/integrations/tuya) First occurred: 19:21:01 (3 occurrences) Last logged: 20:11:01 control device error, error code is ValueOutOfRange This is the main error On Tue, 8 Dec 2020 at 19:35 ollo69 notifications@github.com wrote:

Did you change some option in integration page? Can you check HA logs for error message?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ollo69/ha_tuya_custom/issues/49#issuecomment-740786677, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKIY77NTO22DFCKPI4POEUDSTZPVZANCNFSM4TNVJ3AQ .

myrulezzz commented 3 years ago

2020-12-08 20:08:41 WARNING (SyncWorker_12) [custom_components.tuya_custom.tuyaha.tuyaapi] control device error, error code is ValueOutOfRange 2020-12-08 20:11:01 WARNING (SyncWorker_10) [custom_components.tuya_custom.tuyaha.tuyaapi] control device error, error code is ValueOutOfRange

On Tue, 8 Dec 2020 at 20:11 Andreas Stylianou stylianouandr@gmail.com wrote:

Logger: custom_components.tuya_custom.tuyaha.tuyaapi Source: custom_components/tuya_custom/tuyaha/tuyaapi.py:273 Integration: Tuya Custom (documentation https://www.home-assistant.io/integrations/tuya) First occurred: 19:21:01 (3 occurrences) Last logged: 20:11:01 control device error, error code is ValueOutOfRange This is the main error

On Tue, 8 Dec 2020 at 19:35 ollo69 notifications@github.com wrote:

Did you change some option in integration page? Can you check HA logs for error message?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ollo69/ha_tuya_custom/issues/49#issuecomment-740786677, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKIY77NTO22DFCKPI4POEUDSTZPVZANCNFSM4TNVJ3AQ .

ollo69 commented 3 years ago

Did you change some option in integration page?

myrulezzz commented 3 years ago

Hi, Here are my options:

Because my thermostat was in program mode i have tried to chabge it to manual and then went into ha and tried to change the temperature but still the same.I don’t remember changing something in the integration page.If there is something specific you want me to check let me know On Tue, 8 Dec 2020 at 20:41 ollo69 notifications@github.com wrote:

Did you change some option in integration page?

You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ollo69/ha_tuya_custom/issues/49#issuecomment-740830782, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKIY77KO4D3WMMBVQTVHZL3STZXOBANCNFSM4TNVJ3AQ .

myrulezzz commented 3 years ago

And thr temperature from 2.4 when i press the up arrow goes directly to 2.9 in the thermostat control.is this the correct behavior? Shouldn't go to 2.5 2.6 e.t.c?

ollo69 commented 3 years ago

I don't see your options, I think you should post using browser and not e-mail. Anyway, if I well understand, HA is showing values that is 1/10 of real one, eg 2.4 instead of 24.0, can you confirm this? I need to do some modification, but than it will be required that you change options in HA for your device. I'll let you know when new version will be available.

myrulezzz commented 3 years ago

image

Hi here are the options.yes you are correct for the temperature

ollo69 commented 3 years ago

You should select your device from the list and select submit to configure it!

Please first of all install the last version I just released (v0.1.2) and then configure your device as in picture below:

image

Eventually define also minimum and maximum target values.

Than let me know if value are correct and set command works properly

myrulezzz commented 3 years ago

Ok after following the instructions: On/off works fine. Temperature instead of 240 shows as 2400. When i press temperature from 2400 goes to 30 and nothing change on the thermostat.then i press the down arrow changes to 29, goes to unavailable and still get the same error.so basically the up arrow once takes you to the correct maximum temperature and then arrow down gives you the same error out of range.

On Wed, 9 Dec 2020 at 01:21 ollo69 notifications@github.com wrote:

You should select your device from the list and select submit to configure it!

Please first of all install the last version I just released (v0.1.2) and then configure your device as in picture below:

[image: image] https://user-images.githubusercontent.com/60491700/101552729-a2e86300-39b3-11eb-8e47-53ea30934bc0.png

Eventually define also minimum and maximum target values.

Than let me know if value are correct and set command works properly

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ollo69/ha_tuya_custom/issues/49#issuecomment-741213964, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKIY77JSQ4OW2MTAIQFDLHLST2YHHANCNFSM4TNVJ3AQ .

ollo69 commented 3 years ago

Sorry but your explanation is totally unclear and conflicting with previous information. You said before that your thermostat was showing 2.4 instead of 24, now you say 2400instead of 240. Obviously if your thermostat in HA is displaying 240, the Temperature value divider in the option page should be set to 10 and not 0.1. May be it is better if you post some images of what is really displayed in HA?

myrulezzz commented 3 years ago

General options options

Thermostat Options thermostatoptions

Current Temperature shown on thermostat currentthermostat Pressing the up arrow to increase temperature arrowup Pressing the down arrow arrow to decrease temperature goes to 34 and then unavailable arrowdown

ollo69 commented 3 years ago

Please set option Temperature values divider to 10 instead 0.1 Report if it solve.

myrulezzz commented 3 years ago

Hi changed and the temperature is correct. But when changing temperature still goes to unavailable and get the same warning.

ollo69 commented 3 years ago

Check option Use Temperature value previously divided in set option

myrulezzz commented 3 years ago

Hi now is working. Thank you very much. I think you should add a note somewhere with this additional steps

On Wed, Dec 9, 2020 at 2:30 PM ollo69 notifications@github.com wrote:

Check option Use Temperature value previously divided in set option

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ollo69/ha_tuya_custom/issues/49#issuecomment-741740628, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKIY77NNXD74LPL4NMIZME3ST5UVBANCNFSM4TNVJ3AQ .

myrulezzz commented 3 years ago

Ollo one more question. For tuya covers do you know any way to make the cover work with a slider? Instead of up down stop?

ollo69 commented 3 years ago

Don't think it is possible, API do not provide information about current cover position.

rhladky commented 3 years ago

@ollo69 - I am too lazy to fiddle with custom component :) Any idea when the change will be available in official HA new version?

ollo69 commented 3 years ago

Still need some adjustment and feed-back, than I will create PR but need commit from library and HA. It will take some times, may be 1 month...

rhladky commented 3 years ago

OK, I did setup the tuya custom integration and works like a hell :) Thank you very much for your effort @ollo69 . Wish you all the best and Merry Xmas.

peetereczek commented 3 years ago

I just changed from official integration to your custom one. Issue has gone, thanks for fix! Looking forward for the merge information.

Correct setting example: image

kitkat270 commented 3 years ago

Hi @ollo69, still not quite right for me I'm afraid.

Still getting these in the log, then the device goes unavailable.

Logger: custom_components.tuya_custom.tuyaha.tuyaapi Source: custom_components/tuya_custom/tuyaha/tuyaapi.py:273 Integration: Tuya Custom (documentation) First occurred: 19:00:36 (4 occurrences) Last logged: 19:08:04 control device error, error code is ValueOutOfRange

Screenshot 2021-01-12 at 19 14 02

The temperature values are fine with the divider set at 10. But I'm getting the same 'unavailable' problem with and without the 'Use divider for set' ticked.

EDIT: Just to add... if I set the temp to 18, the display on the radiator shows 80.0. If I set it to 15, it shows 50.0. If I set it to 20, it shows 0.0. And it does this even when I untick the 'Use divider for set' box.

Many thanks for your efforts sorting all these things :-)

Amanda

djp3k05 commented 3 years ago

thank you for your hard work. that fixed my issues and now my Moes thermostats are working fine. Temperature is displayed correctly and also I can set the desired target temperature. Used the "10" divider value and the "Use divided temperature..." checkbox. Unfortunately I discovered that sensors (like the sonoff zigbee temperature/pir and more) can't be imported from Tuya, as no support available for them. I will order the stuffs needed to use the zigbeemqtt to overcome all the issues with the Tuya integration. Thank you again.

thaliamontreux commented 2 years ago

I'm having a issue with my thermostat from smart life I have a saswell thermostat. Hassio reports 45 degrees and im unable to adjust the tempature. here is what is interesting. When I add the thermostat to google, it creates 2 thermostats. But I only have one on smart life. One of them allows me to adjust the tempature and reports it correctly the other one just allows me to turn the power off to the device and reports 45 degrees... Why two thermostats. I looked in hassio and I only got one thermostat. So it's not correctly pulling information from tuya? can anyone help? This is very frustrating.

ollo69 commented 2 years ago

This component is not supported anymore. Please refer to integration main page.

myrulezzz commented 2 years ago

Hi ollo, My thermostats were working with tuya custom. After uninstalling tuya custom and installing tuya integration my thermostats have options only off and auto and the temperature is wrong.

On Wed, Aug 4, 2021 at 12:46 PM ollo69 @.***> wrote:

This component is not supported anymore. Please refer to integration main page.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ollo69/ha_tuya_custom/issues/49#issuecomment-892520389, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKIY77MTXZHZST5ZYTNBFODT3EEA7ANCNFSM4TNVJ3AQ .

diemon24 commented 2 years ago

Общие опции Опции

Варианты термостата термостатопции

Текущая температура, показанная на термостате текущийтермостатНажатие стрелки вверх для повышения температуры стрелка вверхНажатие стрелки вниз для снижения температуры доходит до 34, а затем недоступно стрелка вниз

Hello. After install custom Tuya and activated integration, after more times (many hours) I see all devices in HA. But configuration page in Tuya Custom integration not open. When I can click "Configuration" I see window "Don't open configuration". How config file I can enter parameters thermostats parameters (values devider)?

in /config/custom_components/tuya_custom/tuyaha/devices/climate.py I change this param:

string 19-24 I change devider 1 to 10: def init(self, data, api): super().init(data, api) self._unit = None self._divider = 10 self._divider_set = False self._ct_divider = 10

and my temperature now correct in Lovelace