Open albertdb opened 1 week ago
Hello, The integration won't work on such an old HA, the reason is that the core Tuya integration is used for communicating with Tuya and this integration has been revamped in late 2023 to support QR code login.
If you want we can have a look together and try to upgrade your HA to the newest, what is happening when you upgrade? Do you get an error?
Have a nice day, Azerty
Makes sense.
Thanks for the offering. Yesterday I was trying to update again to see what error was throwing and it was due to this https://github.com/home-assistant/core/issues/114779 so I ended up upgrading to 2024.3.3. Now the interface is broken in the phone I use as a wallpanel due to Webview not updateable, but that's another issue.
The funny thing is that this was enough to make the unsupported energy sensors work out of the box, but this is not the end of my interest.
Would it be possible to enhance Xtend Tuya to support temperature and humidity sensor from unsupported devices doing this? https://github.com/home-assistant/core/issues/75711#issuecomment-1212440679
If so, I can open a feature request :)
Thanks again!
Hello, I can make the PR to have it supported in the official Tuya integration. The only thing is that I need to have the diagnostic data for the device (go to the device page and click "get diagnostic data" on the top left. This describes what the device is sending and its category which is what I need to make the code correct.
Could you provide this information please?
Have a nice day, Azerty
Hi,
Thanks. If you can include it in Xtend Tuya it would be great, as I won't be able to benefit from upstream changes until 32-bit HA build is fixed.
I'm attaching the requested diagnostic data but it is exactly the category and sensors in the comment I linked before https://github.com/home-assistant/core/issues/75711#issuecomment-1212440679
It is a Smart IR device with temperature and humidity sensors all in the same device. I'm not much interested about the IR feature support in HA, I use Alexa for that.
tuya-16e23d03fb7c4f23cd4033661324dc8c-Habitación cabecero-d90703560f8848fde427d26d95aa4b06.json
Have a nice day you too
From what I see in your diagnostic, adding these entries won't fix the problem...
I'll give it a shot anyway...
I'm currently working on a fix for the devices that behave like that, I'm currently waiting a response from Tuya (https://github.com/tuya/tuya-device-sharing-sdk/issues/14)
The new release is up in HACS, update as usual and let me know if you see any difference ;)
Have a nice day, Azerty
You're right.
In fact, that change got merged thanks to someone else before https://github.com/home-assistant/core/blob/dev/homeassistant/components/tuya/sensor.py#L1025
Sorry for not checking that before.
We will have to wait for Tuya, I guess. But I don't understand why other devices with the same category and features do expose the sensor and this unit not... In Smart Life app temperature and humidity are obviously shown.
I'm getting this properties from API:
{
"result": {
"properties": [
{
"code": "temp_current",
"custom_name": "",
"dp_id": 101,
"time": 1718979257802,
"value": 228
},
{
"code": "humidity_value",
"custom_name": "",
"dp_id": 102,
"time": 1718979259022,
"value": 45
},
{
"code": "temp_unit_convert",
"custom_name": "",
"dp_id": 103,
"time": 1718810729884,
"value": "c"
},
{
"code": "ir_send",
"custom_name": "",
"dp_id": 201,
"time": 1718810729884,
"value": ""
},
{
"code": "ir_study_code",
"custom_name": "",
"dp_id": 202,
"time": 1718810729884
}
]
},
"success": true,
"t": 1718982348486,
"tid": "be0613352fdf11ef9073c64ba2abc1e6"
}
With localtuya protocol 3.4 I'm able to fetch the datapoints, fortunately.
how did you get that? That might be the solution I'm waiting for from Tuya!!
Explained here: https://community.home-assistant.io/t/get-local-key-tuya-since-june-2022/436399/10
Did this help? @azerty9971
Hello, No it didn't, I've tried calling those API but I get an error because the authentication mechanism looks different...
I'll have to dig more into it...
I found what I was searching for :p Will make the code adjustments and test it thoroughly then I'll make a new release (but first I've got to party with colleagues and I'm already late xD)
Hello, I've just posted a beta version that should fix the issue you have ;)
In HACS, you have to enable the beta versions (3 dots next to XTend Tuya -> Re-Download -> Enable beta) and download the v1.2.5.
You might have to remove the configuration of XT and manually reset it (go to Settings -> Devices and services -> Xtend Tuya -> remove bridge -> close page, then readd XT like you did upon initial installation)
Also, after updating to the latest beta of XT, could you post the diagnostic data here? The missing information should now be in it :)
I get this error installing beta from scratch:
No se pudo cargar el flujo de configuración: {"message":"Invalid handler specified"}
HA 2024.3.3 (and cannot upgrade), maybe you are using something that requires later version. Hopefully it's just a bug.
Can you send me the logs in Settings -> System -> Logs and click download logs?
This will tell me where it failed ;)
I have not find anything apart from this:
2024-06-28 03:33:03.714 ERROR (MainThread) [homeassistant.config_entries] Error occurred loading flow for integration xtend_tuya: cannot import name 'ConfigFlowResult' from 'homeassistant.config_entries' (/usr/src/homeassistant/homeassistant/config_entries.py)
2024-06-28 03:33:10.816 ERROR (MainThread) [homeassistant.config_entries] Error occurred loading flow for integration xtend_tuya: cannot import name 'ConfigFlowResult' from 'homeassistant.config_entries' (/usr/src/homeassistant/homeassistant/config_entries.py)
The part where in my screen it says "Télécharger les journeaux complets" ;)
Hello Albertdb, Can you try the latest version and let me know if it works better?
Have a nice day, Azerty
Sorry, my last answer stayed as a draft. I was telling you that after a thorough inspection, there was no additional log.
I'se seen you fixed that. Unfortunately, now another error appears. Authentication in Tuya base extension is working, but Xtended doesn't take it as valid:
Registrador: homeassistant.config_entries Fuente: config_entries.py:504 Ocurrió por primera vez: 21:40:18 (1 ocurrencias) Último inicio de sesión: 21:40:18
Error setting up entry albert@xxx for xtend_tuya: Authentication failed. Please re-authenticate the Tuya integration
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 504, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/xtend_tuya/__init__.py", line 87, in async_setup_entry
raise ConfigEntryError(msg)
homeassistant.exceptions.ConfigEntryError: Authentication failed. Please re-authenticate the Tuya integration
Thanks for the effort.
That one is normal, your regular Tuya integration wants the QR code ;) Once you've fixed the error, go to the Xtend Tuya page and reload the configuration ;)
Already did that, also restarted HA, Tuya doesn't complain anymore but Xtended continues to throw the same error.
OK, I understand why, I'll post a beta version that tries to fix that soon ;)
Thank you very much
Can you try with version 1.2.6 beta 1 ?
Now integration works but unfortunately, nothing change device-wise.
I'm attaching diagnostics xtend_tuya-caee639c76342083149929b7f222c5ef-Habitación-d90703560f8848fde427d26d95aa4b06.json
Can you upgrade to the v1.2.6-beta.2 and after restart, go to "Settings -> System -> Logs -> Download full logs and export them here please?
That was with beta 2 already. I meant that there are no new discovered sensors for the device.
I'm attaching requested full log but you won't find anything concerning this integration. error_log.txt
No, I've posted a new version on HACS (a beta one) (I had to renumber for beta builds to be above releases so it's also called beta 2 but it's actually a new beta)
you can force the update by going to HACS -> 3 dots next to Xtend_tuya -> Refresh the information then you should have a system notification telling you there is an update
Oh, ok, reusing version numbers tends to cause confusion 😅
Update appeared immediately.
Here it is error_log(1).txt
It's a bug from Tuya's cloud...
I'll open a technical ticket and do the followup. They tend to fix these relatively quickly in my experience.
Ticket is opened, I'll keep you posted about the results (most likely when they will have fixed it the sensors will appear automatically in your HA ;))
It is this one, Chinese AliExpress stuff, no known brand.
https://a.aliexpress.com/_Ez9cuXh
Which BTW now costs twice, LOL.
I've already received a couple of answers from Tuya, they are claiming that since it's an IR device it's not supported in HA. I'm trying to push forward the fact that it's a WiFi device and that the temperature and humidity sensors should work like any regular WiFi device but it doesn't look promising :'(.
I'll wait for their next reply but if I were you I'd already start looking at non-IR temperature and humidity sensors on Amazon/Aliexpress :'(.
Sorry for the bad news :'( Azerty
That kind of close minded people is sickening, specially when it comes to technical things, which don't tend to be opinionable.
Anyway, for this particular device I can work with localtuya, but I was planning to buy more and use them through cloud. As thermostats they could be awesome and cheap, even if you need to create scenes in SmartLife to control IR devices with HA.
Let's hope they get more reasonable with your reply.
Thanks
Hello, It might be fixed. If not could you restart your HA and send me the logs?
Thanks in advance, Azerty
Thanks for the update. Unfortunately not. I cannot download logs when out of home, but I can copy them:
2024-07-02 19:07:00.338 WARNING (SyncWorker_2) [homeassistant.loader] We found a custom integration xtend_tuya which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-07-02 19:07:25.746 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940045689, 'sign': '125db995e6b11961b8e5353a34d5d83f', 'tid': '8e1435a9389511ef8e93162be22a8c27', 'success': True, 'result': {'category': 'kg', 'functions': [{'code': 'switch_1', 'type': 'Boolean', 'values': '{}'}], 'status': [{'code': 'switch_1', 'type': 'Boolean', 'values': '{}'}]}}
2024-07-02 19:07:25.868 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940045810, 'sign': '5522e49f9628eea7a0a8a1e1972a939c', 'tid': '8e26de9e389511ef977b4ea035c9f230', 'success': True, 'result': {'category': 'kg', 'dpStatusRelationDTOS': [{'dpCode': 'switch_1', 'dpId': 1, 'enumMappingMap': {}, 'statusCode': 'switch_1', 'statusFormat': '{"switch_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}], 'productKey': 'zY4uzKMEbqCjexxB'}}
2024-07-02 19:07:25.995 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940045942, 'sign': '7899fb5af94de1292517c2e29039f281', 'tid': '8e3abcff389511efa7caaa6c9a60812c', 'success': True, 'result': {'category': 'tdq', 'functions': [{'code': 'switch_1', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}, {'code': 'relay_status', 'type': 'Enum', 'values': '{"range":["0","1","2"]}'}, {'code': 'random_time', 'type': 'String', 'values': '{"maxlen":255}'}, {'code': 'cycle_time', 'type': 'String', 'values': '{"maxlen":255}'}, {'code': 'switch_inching', 'type': 'String', 'values': '{"maxlen":255}'}, {'code': 'switch_type', 'type': 'Enum', 'values': '{"range":["flip","sync","button"]}'}], 'status': [{'code': 'switch_1', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}, {'code': 'add_ele', 'type': 'Integer', 'values': '{"unit":"kW·h","min":0,"max":50000,"scale":3,"step":100}'}, {'code': 'cur_current', 'type': 'Integer', 'values': '{"unit":"mA","min":0,"max":30000,"scale":0,"step":1}'}, {'code': 'cur_power', 'type': 'Integer', 'values': '{"unit":"W","min":0,"max":50000,"scale":1,"step":1}'}, {'code': 'cur_voltage', 'type': 'Integer', 'values': '{"unit":"V","min":0,"max":5000,"scale":1,"step":1}'}, {'code': 'test_bit', 'type': 'Integer', 'values': '{"min":0,"max":5,"scale":0,"step":1}'}, {'code': 'fault', 'type': 'Bitmap', 'values': '{"label":["ov_cr","ov_vol","ov_pwr","ls_cr","ls_vol","ls_pow"]}'}, {'code': 'relay_status', 'type': 'Enum', 'values': '{"range":["0","1","2"]}'}, {'code': 'random_time', 'type': 'String', 'values': '{"maxlen":255}'}, {'code': 'cycle_time', 'type': 'String', 'values': '{"maxlen":255}'}, {'code': 'switch_inching', 'type': 'String', 'values': '{"maxlen":255}'}, {'code': 'switch_type', 'type': 'Enum', 'values': '{"range":["flip","sync","button"]}'}]}}
2024-07-02 19:07:26.142 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940046056, 'sign': 'a3b5782cb16230872fd5604787bedc0f', 'tid': '8e4d556b389511ef894c6ec0fba86410', 'success': True, 'result': {'category': 'tdq', 'dpStatusRelationDTOS': [{'dpCode': 'switch_1', 'dpId': 1, 'enumMappingMap': {}, 'statusCode': 'switch_1', 'statusFormat': '{"switch_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'countdown_1', 'dpId': 9, 'enumMappingMap': {}, 'statusCode': 'countdown_1', 'statusFormat': '{"countdown_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'add_ele', 'dpId': 20, 'enumMappingMap': {}, 'statusCode': 'add_ele', 'statusFormat': '{"add_ele":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"kW·h","min":0,"max":50000,"scale":3,"step":100}', 'valueType': 'Integer'}, {'dpCode': 'cur_current', 'dpId': 21, 'enumMappingMap': {}, 'statusCode': 'cur_current', 'statusFormat': '{"cur_current":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"mA","min":0,"max":30000,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'cur_power', 'dpId': 22, 'enumMappingMap': {}, 'statusCode': 'cur_power', 'statusFormat': '{"cur_power":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"W","min":0,"max":50000,"scale":1,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'cur_voltage', 'dpId': 23, 'enumMappingMap': {}, 'statusCode': 'cur_voltage', 'statusFormat': '{"cur_voltage":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"V","min":0,"max":5000,"scale":1,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'test_bit', 'dpId': 24, 'enumMappingMap': {}, 'statusCode': 'test_bit', 'statusFormat': '{"test_bit":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"min":0,"max":5,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'fault', 'dpId': 29, 'enumMappingMap': {}, 'statusCode': 'fault', 'statusFormat': '{"fault":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"label":["ov_cr","ov_vol","ov_pwr","ls_cr","ls_vol","ls_pow"]}', 'valueType': 'Bitmap'}, {'dpCode': 'relay_status', 'dpId': 38, 'enumMappingMap': {'0': {'code': 'relay_status', 'value': '0'}, '1': {'code': 'relay_status', 'value': '1'}, '2': {'code': 'relay_status', 'value': '2'}, 'memory': {'code': 'relay_status', 'value': '2'}, 'off': {'code': 'relay_status', 'value': '0'}, 'on': {'code': 'relay_status', 'value': '1'}}, 'statusCode': 'relay_status', 'statusFormat': '{"relay_status":"$"}', 'supportLocal': True, 'valueConvert': 'enum', 'valueDesc': '{"range":["0","1","2"]}', 'valueType': 'Enum'}, {'dpCode': 'random_time', 'dpId': 42, 'enumMappingMap': {}, 'statusCode': 'random_time', 'statusFormat': '{"random_time":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"maxlen":255}', 'valueType': 'String'}, {'dpCode': 'cycle_time', 'dpId': 43, 'enumMappingMap': {}, 'statusCode': 'cycle_time', 'statusFormat': '{"cycle_time":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"maxlen":255}', 'valueType': 'String'}, {'dpCode': 'switch_inching', 'dpId': 44, 'enumMappingMap': {}, 'statusCode': 'switch_inching', 'statusFormat': '{"switch_inching":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"maxlen":255}', 'valueType': 'String'}, {'dpCode': 'switch_type', 'dpId': 47, 'enumMappingMap': {}, 'statusCode': 'switch_type', 'statusFormat': '{"switch_type":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"range":["flip","sync","button"]}', 'valueType': 'Enum'}], 'productKey': 'labfkgzm2ikdcpdp'}}
2024-07-02 19:07:26.914 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940046858, 'sign': '60809e2fdef4c351103792e4248ead5c', 'tid': '8ec60f21389511efa7caaa6c9a60812c', 'success': True, 'result': {'category': 'cz', 'functions': [{'code': 'switch', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}], 'status': [{'code': 'switch', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}]}}
2024-07-02 19:07:27.031 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940046979, 'sign': '6d34c9f1e0b2ffd2be32a9c96459f89c', 'tid': '8eda26bb389511efb179ca75270f3670', 'success': True, 'result': {'category': 'cz', 'dpStatusRelationDTOS': [{'dpCode': 'switch_on', 'dpId': 1, 'enumMappingMap': {}, 'statusCode': 'switch', 'statusFormat': '{"switch":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'countdown', 'dpId': 2, 'enumMappingMap': {}, 'statusCode': 'countdown_1', 'statusFormat': '{"countdown_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}', 'valueType': 'Integer'}], 'productKey': 'PGEkBctAbtzKOZng'}}
2024-07-02 19:07:27.143 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940047089, 'sign': '34a1631bff5813bdcedb743dfb4a8802', 'tid': '8ee9e015389511ef9dffae25c561cc2a', 'success': True, 'result': {'category': 'cz', 'functions': [{'code': 'switch', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}], 'status': [{'code': 'switch', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}]}}
2024-07-02 19:07:27.288 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940047237, 'sign': '898a2ea7d3ecd49ecf781ddc7a4388ba', 'tid': '8f016848389511efa784060894fd3918', 'success': True, 'result': {'category': 'cz', 'dpStatusRelationDTOS': [{'dpCode': 'switch_on', 'dpId': 1, 'enumMappingMap': {}, 'statusCode': 'switch', 'statusFormat': '{"switch":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'countdown', 'dpId': 2, 'enumMappingMap': {}, 'statusCode': 'countdown_1', 'statusFormat': '{"countdown_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}', 'valueType': 'Integer'}], 'productKey': 'PGEkBctAbtzKOZng'}}
2024-07-02 19:07:27.407 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940047355, 'sign': 'd9304e9651e742e8989d50dc88464cdb', 'tid': '8f120ed7389511efb4f1eab34d9f1570', 'success': True, 'result': {'category': 'cz', 'functions': [{'code': 'switch', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}], 'status': [{'code': 'switch', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}]}}
2024-07-02 19:07:27.523 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940047471, 'sign': '9bd12988955c3fee796acdf5d2434874', 'tid': '8f23afad389511efa784060894fd3918', 'success': True, 'result': {'category': 'cz', 'dpStatusRelationDTOS': [{'dpCode': 'switch_on', 'dpId': 1, 'enumMappingMap': {}, 'statusCode': 'switch', 'statusFormat': '{"switch":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'countdown', 'dpId': 2, 'enumMappingMap': {}, 'statusCode': 'countdown_1', 'statusFormat': '{"countdown_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}', 'valueType': 'Integer'}], 'productKey': 'PGEkBctAbtzKOZng'}}
2024-07-02 19:07:27.634 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940047581, 'sign': '6d7a17a1801c097b9ec8c77c9414af73', 'tid': '8f3518ac389511ef8c772eb9726aeaaf', 'success': True, 'result': {'category': 'cz', 'functions': [{'code': 'switch_1', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}], 'status': [{'code': 'switch_1', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}, {'code': 'add_ele', 'type': 'Integer', 'values': '{"unit":"","min":0,"max":50000,"scale":3,"step":100}'}, {'code': 'cur_current', 'type': 'Integer', 'values': '{"unit":"mA","min":0,"max":30000,"scale":0,"step":1}'}, {'code': 'cur_power', 'type': 'Integer', 'values': '{"unit":"W","min":0,"max":50000,"scale":1,"step":1}'}, {'code': 'cur_voltage', 'type': 'Integer', 'values': '{"unit":"V","min":0,"max":5000,"scale":1,"step":1}'}]}}
2024-07-02 19:07:27.797 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940047741, 'sign': '4354d368c6554c928b30c242ac1a08fd', 'tid': '8f4ad114389511ef96bdea0f98220a20', 'success': True, 'result': {'category': 'cz', 'dpStatusRelationDTOS': [{'dpCode': 'switch_1', 'dpId': 1, 'enumMappingMap': {}, 'statusCode': 'switch_1', 'statusFormat': '{"switch_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'countdown_1', 'dpId': 9, 'enumMappingMap': {}, 'statusCode': 'countdown_1', 'statusFormat': '{"countdown_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'add_ele', 'dpId': 17, 'enumMappingMap': {}, 'statusCode': 'add_ele', 'statusFormat': '{"add_ele":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"","min":0,"max":50000,"scale":3,"step":100}', 'valueType': 'Integer'}, {'dpCode': 'cur_current', 'dpId': 18, 'enumMappingMap': {}, 'statusCode': 'cur_current', 'statusFormat': '{"cur_current":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"mA","min":0,"max":30000,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'cur_power', 'dpId': 19, 'enumMappingMap': {}, 'statusCode': 'cur_power', 'statusFormat': '{"cur_power":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"W","min":0,"max":50000,"scale":1,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'cur_voltage', 'dpId': 20, 'enumMappingMap': {}, 'statusCode': 'cur_voltage', 'statusFormat': '{"cur_voltage":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"V","min":0,"max":5000,"scale":1,"step":1}', 'valueType': 'Integer'}], 'productKey': 'mwoeivjwcfihnv6i'}}
2024-07-02 19:07:27.915 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940047864, 'sign': '12574b3e6ece276da75d8ce786cdc7ce', 'tid': '8f60166e389511ef9dffae25c561cc2a', 'success': True, 'result': {'category': 'cz', 'functions': [{'code': 'switch', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}], 'status': [{'code': 'switch', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}]}}
2024-07-02 19:07:28.064 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940048012, 'sign': '6ab73111561fed258d0b27d044171284', 'tid': '8f759292389511ef96bdea0f98220a20', 'success': True, 'result': {'category': 'cz', 'dpStatusRelationDTOS': [{'dpCode': 'switch_on', 'dpId': 1, 'enumMappingMap': {}, 'statusCode': 'switch', 'statusFormat': '{"switch":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'countdown', 'dpId': 2, 'enumMappingMap': {}, 'statusCode': 'countdown_1', 'statusFormat': '{"countdown_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}', 'valueType': 'Integer'}], 'productKey': 'eEhWmpy1Mq02OBuV'}}
2024-07-02 19:07:28.195 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940048138, 'sign': 'cd836ef3489402243efbaa342e02824e', 'tid': '8f8a2f2e389511efb20562205ba6700b', 'success': True, 'result': {'category': 'pc', 'functions': [{'code': 'switch_1', 'type': 'Boolean', 'values': '{}'}, {'code': 'switch_2', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}, {'code': 'countdown_2', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}, {'code': 'relay_status', 'type': 'Enum', 'values': '{"range":["power_off","power_on","last"]}'}, {'code': 'child_lock', 'type': 'Boolean', 'values': '{}'}], 'status': [{'code': 'switch_1', 'type': 'Boolean', 'values': '{}'}, {'code': 'switch_2', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}, {'code': 'countdown_2', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}, {'code': 'add_ele', 'type': 'Integer', 'values': '{"unit":"","min":0,"max":50000,"scale":3,"step":100}'}, {'code': 'cur_current', 'type': 'Integer', 'values': '{"unit":"mA","min":0,"max":30000,"scale":0,"step":1}'}, {'code': 'cur_power', 'type': 'Integer', 'values': '{"unit":"W","min":0,"max":50000,"scale":1,"step":1}'}, {'code': 'cur_voltage', 'type': 'Integer', 'values': '{"unit":"V","min":0,"max":5000,"scale":1,"step":1}'}, {'code': 'relay_status', 'type': 'Enum', 'values': '{"range":["power_off","power_on","last"]}'}, {'code': 'child_lock', 'type': 'Boolean', 'values': '{}'}]}}
2024-07-02 19:07:28.343 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940048284, 'sign': '5348cc39b8e49f679935a6475a5f945d', 'tid': '8f9b62bc389511efb9fcda1e1cf45271', 'success': True, 'result': {'category': 'pc', 'dpStatusRelationDTOS': [{'dpCode': 'switch_1', 'dpId': 1, 'enumMappingMap': {}, 'statusCode': 'switch_1', 'statusFormat': '{"switch_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'switch_2', 'dpId': 2, 'enumMappingMap': {}, 'statusCode': 'switch_2', 'statusFormat': '{"switch_2":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'countdown_1', 'dpId': 9, 'enumMappingMap': {}, 'statusCode': 'countdown_1', 'statusFormat': '{"countdown_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'countdown_2', 'dpId': 10, 'enumMappingMap': {}, 'statusCode': 'countdown_2', 'statusFormat': '{"countdown_2":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'add_ele', 'dpId': 17, 'enumMappingMap': {}, 'statusCode': 'add_ele', 'statusFormat': '{"add_ele":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"","min":0,"max":50000,"scale":3,"step":100}', 'valueType': 'Integer'}, {'dpCode': 'cur_current', 'dpId': 18, 'enumMappingMap': {}, 'statusCode': 'cur_current', 'statusFormat': '{"cur_current":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"mA","min":0,"max":30000,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'cur_power', 'dpId': 19, 'enumMappingMap': {}, 'statusCode': 'cur_power', 'statusFormat': '{"cur_power":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"W","min":0,"max":50000,"scale":1,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'cur_voltage', 'dpId': 20, 'enumMappingMap': {}, 'statusCode': 'cur_voltage', 'statusFormat': '{"cur_voltage":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"V","min":0,"max":5000,"scale":1,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'relay_status', 'dpId': 38, 'enumMappingMap': {'0': {'code': 'relay_status', 'value': 'power_off'}, '1': {'code': 'relay_status', 'value': 'power_on'}, '2': {'code': 'relay_status', 'value': 'last'}, 'memory': {'code': 'relay_status', 'value': 'last'}, 'off': {'code': 'relay_status', 'value': 'power_off'}, 'on': {'code': 'relay_status', 'value': 'power_on'}}, 'statusCode': 'relay_status', 'statusFormat': '{"relay_status":"$"}', 'supportLocal': True, 'valueConvert': 'enum', 'valueDesc': '{"range":["power_off","power_on","last"]}', 'valueType': 'Enum'}, {'dpCode': 'child_lock', 'dpId': 40, 'enumMappingMap': {}, 'statusCode': 'child_lock', 'statusFormat': '{"child_lock":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}], 'productKey': 'om66trznam5hnxel'}}
2024-07-02 19:07:28.476 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940048411, 'sign': 'adf2c37c598785ead7630b721657a4a9', 'tid': '8fb259c2389511efb20562205ba6700b', 'success': True, 'result': {'category': 'dj', 'functions': [{'code': 'switch_led', 'type': 'Boolean', 'values': '{}'}, {'code': 'work_mode', 'type': 'Enum', 'values': '{"range":["white","colour","scene","music"]}'}, {'code': 'bright_value_v2', 'type': 'Integer', 'values': '{"min":10,"max":1000,"scale":0,"step":1}'}, {'code': 'temp_value_v2', 'type': 'Integer', 'values': '{"min":0,"max":1000,"scale":0,"step":1}'}, {'code': 'colour_data_v2', 'type': 'Json', 'values': '{"h":{"min":0,"scale":0,"unit":"","max":360,"step":1},"s":{"min":0,"scale":0,"unit":"","max":1000,"step":1},"v":{"min":0,"scale":0,"unit":"","max":1000,"step":1}}'}, {'code': 'scene_data_v2', 'type': 'Json', 'values': '{"scene_num":{"min":1,"scale":0,"max":8,"step":1},"scene_units": {"unit_change_mode":{"range":["static","jump","gradient"]},"unit_switch_duration":{"min":0,"scale":0,"max":100,"step":1},"unit_gradient_duration":{"min":0,"scale":0,"max":100,"step":1},"bright":{"min":0,"scale":0,"max":1000,"step":1},"temperature":{"min":0,"scale":0,"max":1000,"step":1},"h":{"min":0,"scale":0,"unit":"","max":360,"step":1},"s":{"min":0,"scale":0,"unit":"","max":1000,"step":1},"v":{"min":0,"scale":0,"unit":"","max":1000,"step":1}}}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}, {'code': 'control_data', 'type': 'Json', 'values': '{"change_mode":{"range":["direct","gradient"]}, "bright":{"min":0,"scale":0,"unit":"","max":1000,"step":1}, "temperature":{"min":0,"scale":0,"unit":"","max":1000,"step":1}, "h":{"min":0,"scale":0,"unit":"","max":360,"step":1},"s":{"min":0,"scale":0,"unit":"","max":255,"step":1},"v":{"min":0,"scale":0,"unit":"","max":255,"step":1}}'}], 'status': [{'code': 'switch_led', 'type': 'Boolean', 'values': '{}'}, {'code': 'work_mode', 'type': 'Enum', 'values': '{"range":["white","colour","scene","music"]}'}, {'code': 'bright_value_v2', 'type': 'Integer', 'values': '{"min":10,"max":1000,"scale":0,"step":1}'}, {'code': 'temp_value_v2', 'type': 'Integer', 'values': '{"min":0,"max":1000,"scale":0,"step":1}'}, {'code': 'colour_data_v2', 'type': 'Json', 'values': '{"h":{"min":0,"scale":0,"unit":"","max":360,"step":1},"s":{"min":0,"scale":0,"unit":"","max":1000,"step":1},"v":{"min":0,"scale":0,"unit":"","max":1000,"step":1}}'}, {'code': 'scene_data_v2', 'type': 'Json', 'values': '{"scene_num":{"min":1,"scale":0,"max":8,"step":1},"scene_units": {"unit_change_mode":{"range":["static","jump","gradient"]},"unit_switch_duration":{"min":0,"scale":0,"max":100,"step":1},"unit_gradient_duration":{"min":0,"scale":0,"max":100,"step":1},"bright":{"min":0,"scale":0,"max":1000,"step":1},"temperature":{"min":0,"scale":0,"max":1000,"step":1},"h":{"min":0,"scale":0,"unit":"","max":360,"step":1},"s":{"min":0,"scale":0,"unit":"","max":1000,"step":1},"v":{"min":0,"scale":0,"unit":"","max":1000,"step":1}}}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}, {'code': 'control_data', 'type': 'Json', 'values': '{"change_mode":{"range":["direct","gradient"]}, "bright":{"min":0,"scale":0,"unit":"","max":1000,"step":1}, "temperature":{"min":0,"scale":0,"unit":"","max":1000,"step":1}, "h":{"min":0,"scale":0,"unit":"","max":360,"step":1},"s":{"min":0,"scale":0,"unit":"","max":255,"step":1},"v":{"min":0,"scale":0,"unit":"","max":255,"step":1}}'}]}}
2024-07-02 19:07:28.617 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940048561, 'sign': 'f49c0742dc3209b505e522b1a7c60544', 'tid': '8fc756ce389511efa784060894fd3918', 'success': True, 'result': {'category': 'dj', 'dpStatusRelationDTOS': [{'dpCode': 'switch_led', 'dpId': 20, 'enumMappingMap': {}, 'statusCode': 'switch_led', 'statusFormat': '{"switch_led":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'work_mode', 'dpId': 21, 'enumMappingMap': {}, 'statusCode': 'work_mode', 'statusFormat': '{"work_mode":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"range":["white","colour","scene","music"]}', 'valueType': 'Enum'}, {'dpCode': 'bright_value', 'dpId': 22, 'enumMappingMap': {}, 'statusCode': 'bright_value_v2', 'statusFormat': '{"bright_value_v2":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"min":10,"max":1000,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'temp_value', 'dpId': 23, 'enumMappingMap': {}, 'statusCode': 'temp_value_v2', 'statusFormat': '{"temp_value_v2":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"min":0,"max":1000,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'colour_data', 'dpId': 24, 'enumMappingMap': {}, 'statusCode': 'colour_data_v2', 'statusFormat': '{"colour_data_v2":"$"}', 'supportLocal': True, 'valueConvert': 'dj_v2_color_alg', 'valueDesc': '{"h":{"min":0,"scale":0,"unit":"","max":360,"step":1},"s":{"min":0,"scale":0,"unit":"","max":1000,"step":1},"v":{"min":0,"scale":0,"unit":"","max":1000,"step":1}}', 'valueType': 'Json'}, {'dpCode': 'scene_data', 'dpId': 25, 'enumMappingMap': {}, 'statusCode': 'scene_data_v2', 'statusFormat': '{"scene_data_v2":"$"}', 'supportLocal': True, 'valueConvert': 'dj_v2_scene_alg', 'valueDesc': '{"scene_num":{"min":1,"scale":0,"max":8,"step":1},"scene_units": {"unit_change_mode":{"range":["static","jump","gradient"]},"unit_switch_duration":{"min":0,"scale":0,"max":100,"step":1},"unit_gradient_duration":{"min":0,"scale":0,"max":100,"step":1},"bright":{"min":0,"scale":0,"max":1000,"step":1},"temperature":{"min":0,"scale":0,"max":1000,"step":1},"h":{"min":0,"scale":0,"unit":"","max":360,"step":1},"s":{"min":0,"scale":0,"unit":"","max":1000,"step":1},"v":{"min":0,"scale":0,"unit":"","max":1000,"step":1}}}', 'valueType': 'Json'}, {'dpCode': 'countdown', 'dpId': 26, 'enumMappingMap': {}, 'statusCode': 'countdown_1', 'statusFormat': '{"countdown_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'control_data', 'dpId': 28, 'enumMappingMap': {}, 'statusCode': 'control_data', 'statusFormat': '{"control_data":"$"}', 'supportLocal': True, 'valueConvert': 'dj_v2_contr_alg', 'valueDesc': '{"change_mode":{"range":["direct","gradient"]}, "bright":{"min":0,"scale":0,"unit":"","max":1000,"step":1}, "temperature":{"min":0,"scale":0,"unit":"","max":1000,"step":1}, "h":{"min":0,"scale":0,"unit":"","max":360,"step":1},"s":{"min":0,"scale":0,"unit":"","max":255,"step":1},"v":{"min":0,"scale":0,"unit":"","max":255,"step":1}}', 'valueType': 'Json'}], 'productKey': 'sz6m5udjwvdaym7p'}}
2024-07-02 19:07:28.734 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940048683, 'sign': 'e3c2cf7644c4abd9469ab024d928da0b', 'tid': '8fdd59ff389511ef98cf26bb28154dee', 'success': True, 'result': {'category': 'cz', 'functions': [{'code': 'switch_1', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}], 'status': [{'code': 'switch_1', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}, {'code': 'add_ele', 'type': 'Integer', 'values': '{"unit":"","min":0,"max":50000,"scale":3,"step":100}'}, {'code': 'cur_current', 'type': 'Integer', 'values': '{"unit":"mA","min":0,"max":30000,"scale":0,"step":1}'}, {'code': 'cur_power', 'type': 'Integer', 'values': '{"unit":"W","min":0,"max":50000,"scale":1,"step":1}'}, {'code': 'cur_voltage', 'type': 'Integer', 'values': '{"unit":"V","min":0,"max":5000,"scale":1,"step":1}'}]}}
2024-07-02 19:07:28.842 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940048788, 'sign': '3d597c9f77d8eeccb3e30e3a1f28a0d1', 'tid': '8fee0f5f389511efbbb682cb54defead', 'success': True, 'result': {'category': 'cz', 'dpStatusRelationDTOS': [{'dpCode': 'switch_1', 'dpId': 1, 'enumMappingMap': {}, 'statusCode': 'switch_1', 'statusFormat': '{"switch_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'countdown_1', 'dpId': 9, 'enumMappingMap': {}, 'statusCode': 'countdown_1', 'statusFormat': '{"countdown_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'add_ele', 'dpId': 17, 'enumMappingMap': {}, 'statusCode': 'add_ele', 'statusFormat': '{"add_ele":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"","min":0,"max":50000,"scale":3,"step":100}', 'valueType': 'Integer'}, {'dpCode': 'cur_current', 'dpId': 18, 'enumMappingMap': {}, 'statusCode': 'cur_current', 'statusFormat': '{"cur_current":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"mA","min":0,"max":30000,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'cur_power', 'dpId': 19, 'enumMappingMap': {}, 'statusCode': 'cur_power', 'statusFormat': '{"cur_power":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"W","min":0,"max":50000,"scale":1,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'cur_voltage', 'dpId': 20, 'enumMappingMap': {}, 'statusCode': 'cur_voltage', 'statusFormat': '{"cur_voltage":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"V","min":0,"max":5000,"scale":1,"step":1}', 'valueType': 'Integer'}], 'productKey': 'fbvia0apnlnattcy'}}
2024-07-02 19:07:28.952 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940048902, 'sign': '6d13b1eb2c5005f3eae2c4a560d5325a', 'tid': '8ffe8c4e389511ef977b4ea035c9f230', 'success': True, 'result': {'category': 'cz', 'functions': [{'code': 'switch_1', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}], 'status': [{'code': 'switch_1', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}, {'code': 'add_ele', 'type': 'Integer', 'values': '{"unit":"","min":0,"max":50000,"scale":3,"step":100}'}, {'code': 'cur_current', 'type': 'Integer', 'values': '{"unit":"mA","min":0,"max":30000,"scale":0,"step":1}'}, {'code': 'cur_power', 'type': 'Integer', 'values': '{"unit":"W","min":0,"max":50000,"scale":1,"step":1}'}, {'code': 'cur_voltage', 'type': 'Integer', 'values': '{"unit":"V","min":0,"max":5000,"scale":1,"step":1}'}]}}
2024-07-02 19:07:29.064 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940049010, 'sign': '3ef7054da920d28bf42b3a700ec685bf', 'tid': '900f814a389511efb4f1eab34d9f1570', 'success': True, 'result': {'category': 'cz', 'dpStatusRelationDTOS': [{'dpCode': 'switch_1', 'dpId': 1, 'enumMappingMap': {}, 'statusCode': 'switch_1', 'statusFormat': '{"switch_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'countdown_1', 'dpId': 9, 'enumMappingMap': {}, 'statusCode': 'countdown_1', 'statusFormat': '{"countdown_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'add_ele', 'dpId': 17, 'enumMappingMap': {}, 'statusCode': 'add_ele', 'statusFormat': '{"add_ele":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"","min":0,"max":50000,"scale":3,"step":100}', 'valueType': 'Integer'}, {'dpCode': 'cur_current', 'dpId': 18, 'enumMappingMap': {}, 'statusCode': 'cur_current', 'statusFormat': '{"cur_current":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"mA","min":0,"max":30000,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'cur_power', 'dpId': 19, 'enumMappingMap': {}, 'statusCode': 'cur_power', 'statusFormat': '{"cur_power":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"W","min":0,"max":50000,"scale":1,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'cur_voltage', 'dpId': 20, 'enumMappingMap': {}, 'statusCode': 'cur_voltage', 'statusFormat': '{"cur_voltage":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"V","min":0,"max":5000,"scale":1,"step":1}', 'valueType': 'Integer'}], 'productKey': 'fbvia0apnlnattcy'}}
2024-07-02 19:07:29.178 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940049124, 'sign': '5516bec30265aea7015e370c53f31b4f', 'tid': '90208406389511ef894c6ec0fba86410', 'success': True, 'result': {'category': 'cz', 'functions': [{'code': 'switch_1', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}], 'status': [{'code': 'switch_1', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}, {'code': 'add_ele', 'type': 'Integer', 'values': '{"unit":"kwh","min":0,"max":50000,"scale":3,"step":100}'}, {'code': 'cur_current', 'type': 'Integer', 'values': '{"unit":"mA","min":0,"max":30000,"scale":0,"step":1}'}, {'code': 'cur_power', 'type': 'Integer', 'values': '{"unit":"W","min":0,"max":50000,"scale":1,"step":1}'}, {'code': 'cur_voltage', 'type': 'Integer', 'values': '{"unit":"V","min":0,"max":5000,"scale":1,"step":1}'}]}}
2024-07-02 19:07:29.312 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940049250, 'sign': '6f1332d933cbe888e93fbbb90e301f11', 'tid': '90312eb0389511efa718eab23464e919', 'success': True, 'result': {'category': 'cz', 'dpStatusRelationDTOS': [{'dpCode': 'switch_1', 'dpId': 1, 'enumMappingMap': {}, 'statusCode': 'switch_1', 'statusFormat': '{"switch_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'countdown_1', 'dpId': 9, 'enumMappingMap': {}, 'statusCode': 'countdown_1', 'statusFormat': '{"countdown_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'add_ele', 'dpId': 17, 'enumMappingMap': {}, 'statusCode': 'add_ele', 'statusFormat': '{"add_ele":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"kwh","min":0,"max":50000,"scale":3,"step":100}', 'valueType': 'Integer'}, {'dpCode': 'cur_current', 'dpId': 18, 'enumMappingMap': {}, 'statusCode': 'cur_current', 'statusFormat': '{"cur_current":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"mA","min":0,"max":30000,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'cur_power', 'dpId': 19, 'enumMappingMap': {}, 'statusCode': 'cur_power', 'statusFormat': '{"cur_power":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"W","min":0,"max":50000,"scale":1,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'cur_voltage', 'dpId': 20, 'enumMappingMap': {}, 'statusCode': 'cur_voltage', 'statusFormat': '{"cur_voltage":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"V","min":0,"max":5000,"scale":1,"step":1}', 'valueType': 'Integer'}], 'productKey': 'c7bcd7j5nmpzncjz'}}
2024-07-02 19:07:29.457 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940049404, 'sign': 'e72f815bb25697c0a7ba58fb699933d8', 'tid': '904a56c3389511ef98cf26bb28154dee', 'success': True, 'result': {'category': 'cz', 'functions': [{'code': 'switch_1', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}], 'status': [{'code': 'switch_1', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}, {'code': 'add_ele', 'type': 'Integer', 'values': '{"unit":"","min":0,"max":50000,"scale":3,"step":100}'}, {'code': 'cur_current', 'type': 'Integer', 'values': '{"unit":"mA","min":0,"max":30000,"scale":0,"step":1}'}, {'code': 'cur_power', 'type': 'Integer', 'values': '{"unit":"W","min":0,"max":50000,"scale":1,"step":1}'}, {'code': 'cur_voltage', 'type': 'Integer', 'values': '{"unit":"V","min":0,"max":5000,"scale":1,"step":1}'}]}}
2024-07-02 19:07:29.580 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940049522, 'sign': 'dfbc2c64f0bee1e3234ea8b33d4beb90', 'tid': '905dff22389511efa718eab23464e919', 'success': True, 'result': {'category': 'cz', 'dpStatusRelationDTOS': [{'dpCode': 'switch_1', 'dpId': 1, 'enumMappingMap': {}, 'statusCode': 'switch_1', 'statusFormat': '{"switch_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'countdown_1', 'dpId': 9, 'enumMappingMap': {}, 'statusCode': 'countdown_1', 'statusFormat': '{"countdown_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'add_ele', 'dpId': 17, 'enumMappingMap': {}, 'statusCode': 'add_ele', 'statusFormat': '{"add_ele":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"","min":0,"max":50000,"scale":3,"step":100}', 'valueType': 'Integer'}, {'dpCode': 'cur_current', 'dpId': 18, 'enumMappingMap': {}, 'statusCode': 'cur_current', 'statusFormat': '{"cur_current":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"mA","min":0,"max":30000,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'cur_power', 'dpId': 19, 'enumMappingMap': {}, 'statusCode': 'cur_power', 'statusFormat': '{"cur_power":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"W","min":0,"max":50000,"scale":1,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'cur_voltage', 'dpId': 20, 'enumMappingMap': {}, 'statusCode': 'cur_voltage', 'statusFormat': '{"cur_voltage":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"V","min":0,"max":5000,"scale":1,"step":1}', 'valueType': 'Integer'}], 'productKey': 'fbvia0apnlnattcy'}}
2024-07-02 19:07:29.692 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940049642, 'sign': '5975861d4985702beb5b8eec309d2345', 'tid': '906f8cef389511ef8c772eb9726aeaaf', 'success': True, 'result': {'category': 'cz', 'functions': [{'code': 'switch_1', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}], 'status': [{'code': 'switch_1', 'type': 'Boolean', 'values': '{}'}, {'code': 'countdown_1', 'type': 'Integer', 'values': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}'}, {'code': 'add_ele', 'type': 'Integer', 'values': '{"unit":"","min":0,"max":50000,"scale":3,"step":100}'}, {'code': 'cur_current', 'type': 'Integer', 'values': '{"unit":"mA","min":0,"max":30000,"scale":0,"step":1}'}, {'code': 'cur_power', 'type': 'Integer', 'values': '{"unit":"W","min":0,"max":50000,"scale":1,"step":1}'}, {'code': 'cur_voltage', 'type': 'Integer', 'values': '{"unit":"V","min":0,"max":5000,"scale":1,"step":1}'}]}}
2024-07-02 19:07:29.796 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940049742, 'sign': '755e49d06e8a71c4e34eafd9b636922b', 'tid': '907ff38e389511efae879294290d27be', 'success': True, 'result': {'category': 'cz', 'dpStatusRelationDTOS': [{'dpCode': 'switch_1', 'dpId': 1, 'enumMappingMap': {}, 'statusCode': 'switch_1', 'statusFormat': '{"switch_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'countdown_1', 'dpId': 9, 'enumMappingMap': {}, 'statusCode': 'countdown_1', 'statusFormat': '{"countdown_1":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"s","min":0,"max":86400,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'add_ele', 'dpId': 17, 'enumMappingMap': {}, 'statusCode': 'add_ele', 'statusFormat': '{"add_ele":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"","min":0,"max":50000,"scale":3,"step":100}', 'valueType': 'Integer'}, {'dpCode': 'cur_current', 'dpId': 18, 'enumMappingMap': {}, 'statusCode': 'cur_current', 'statusFormat': '{"cur_current":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"mA","min":0,"max":30000,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'cur_power', 'dpId': 19, 'enumMappingMap': {}, 'statusCode': 'cur_power', 'statusFormat': '{"cur_power":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"W","min":0,"max":50000,"scale":1,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'cur_voltage', 'dpId': 20, 'enumMappingMap': {}, 'statusCode': 'cur_voltage', 'statusFormat': '{"cur_voltage":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"V","min":0,"max":5000,"scale":1,"step":1}', 'valueType': 'Integer'}], 'productKey': 'fbvia0apnlnattcy'}}
2024-07-02 19:07:29.909 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940049855, 'sign': 'd24e5b45e5275923e10c1ce8dfb0694e', 'tid': '908ff925389511ef86a9bacc86b08d34', 'success': True, 'result': {'category': 'wsdcg', 'functions': [{'code': 'maxtemp_set', 'type': 'Integer', 'values': '{"unit":"℃","min":-200,"max":600,"scale":1,"step":1}'}, {'code': 'minitemp_set', 'type': 'Integer', 'values': '{"unit":"℃","min":-200,"max":600,"scale":1,"step":1}'}, {'code': 'maxhum_set', 'type': 'Integer', 'values': '{"unit":"%","min":0,"max":100,"scale":0,"step":1}'}, {'code': 'minihum_set', 'type': 'Integer', 'values': '{"unit":"%","min":0,"max":100,"scale":0,"step":1}'}], 'status': [{'code': 'va_temperature', 'type': 'Integer', 'values': '{"unit":"℃","min":-200,"max":600,"scale":1,"step":1}'}, {'code': 'va_humidity', 'type': 'Integer', 'values': '{"unit":"%","min":0,"max":100,"scale":0,"step":1}'}, {'code': 'battery_percentage', 'type': 'Integer', 'values': '{"unit":"%","min":0,"max":100,"scale":0,"step":1}'}, {'code': 'maxtemp_set', 'type': 'Integer', 'values': '{"unit":"℃","min":-200,"max":600,"scale":1,"step":1}'}, {'code': 'minitemp_set', 'type': 'Integer', 'values': '{"unit":"℃","min":-200,"max":600,"scale":1,"step":1}'}, {'code': 'maxhum_set', 'type': 'Integer', 'values': '{"unit":"%","min":0,"max":100,"scale":0,"step":1}'}, {'code': 'minihum_set', 'type': 'Integer', 'values': '{"unit":"%","min":0,"max":100,"scale":0,"step":1}'}, {'code': 'temp_alarm', 'type': 'Enum', 'values': '{"range":["loweralarm","upperalarm","cancel"]}'}, {'code': 'hum_alarm', 'type': 'Enum', 'values': '{"range":["loweralarm","upperalarm","cancel"]}'}]}}
2024-07-02 19:07:30.018 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940049959, 'sign': '9b221914e557ce3db59753c3cd314c64', 'tid': '90a0f4ea389511ef894c6ec0fba86410', 'success': True, 'result': {'category': 'wsdcg', 'dpStatusRelationDTOS': [{'dpCode': 'temp_current', 'dpId': 1, 'enumMappingMap': {}, 'statusCode': 'va_temperature', 'statusFormat': '{"va_temperature":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"℃","min":-200,"max":600,"scale":1,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'humidity_value', 'dpId': 2, 'enumMappingMap': {}, 'statusCode': 'humidity_value', 'statusFormat': '{"va_humidity":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"%","min":0,"max":100,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'battery_percentage', 'dpId': 4, 'enumMappingMap': {}, 'statusCode': 'battery_percentage', 'statusFormat': '{"battery_percentage":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"%","min":0,"max":100,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'maxtemp_set', 'dpId': 10, 'enumMappingMap': {}, 'statusCode': 'maxtemp_set', 'statusFormat': '{"maxtemp_set":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"℃","min":-200,"max":600,"scale":1,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'minitemp_set', 'dpId': 11, 'enumMappingMap': {}, 'statusCode': 'minitemp_set', 'statusFormat': '{"minitemp_set":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"℃","min":-200,"max":600,"scale":1,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'maxhum_set', 'dpId': 12, 'enumMappingMap': {}, 'statusCode': 'maxhum_set', 'statusFormat': '{"maxhum_set":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"%","min":0,"max":100,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'minihum_set', 'dpId': 13, 'enumMappingMap': {}, 'statusCode': 'minihum_set', 'statusFormat': '{"minihum_set":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"%","min":0,"max":100,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'temp_alarm', 'dpId': 14, 'enumMappingMap': {}, 'statusCode': 'temp_alarm', 'statusFormat': '{"temp_alarm":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"range":["loweralarm","upperalarm","cancel"]}', 'valueType': 'Enum'}, {'dpCode': 'hum_alarm', 'dpId': 15, 'enumMappingMap': {}, 'statusCode': 'hum_alarm', 'statusFormat': '{"hum_alarm":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"range":["loweralarm","upperalarm","cancel"]}', 'valueType': 'Enum'}], 'productKey': 'g2y6z3p3ja2qhyav'}}
2024-07-02 19:07:30.147 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940050095, 'sign': 'e8828a73da506dee7bde00d55f47fc81', 'tid': '90b31d1a389511efbbb682cb54defead', 'success': True, 'result': {'category': 'cwwsq', 'functions': [{'code': 'meal_plan', 'type': 'Raw', 'values': '{}'}, {'code': 'manual_feed', 'type': 'Integer', 'values': '{"unit":"","min":1,"max":40,"scale":0,"step":1}'}, {'code': 'factory_reset', 'type': 'Boolean', 'values': '{}'}], 'status': [{'code': 'meal_plan', 'type': 'Raw', 'values': '{}'}, {'code': 'manual_feed', 'type': 'Integer', 'values': '{"unit":"","min":1,"max":40,"scale":0,"step":1}'}, {'code': 'feed_state', 'type': 'Enum', 'values': '{"range":["standby","feeding","done"]}'}, {'code': 'factory_reset', 'type': 'Boolean', 'values': '{}'}, {'code': 'feed_report', 'type': 'Integer', 'values': '{"unit":"","min":0,"max":40,"scale":0,"step":1}'}]}}
2024-07-02 19:07:30.258 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940050206, 'sign': '0b9a746aa138469b0fcd6a09b184a41b', 'tid': '90c61774389511efa718eab23464e919', 'success': True, 'result': {'category': 'cwwsq', 'dpStatusRelationDTOS': [{'dpCode': 'meal_plan', 'dpId': 1, 'enumMappingMap': {}, 'statusCode': 'meal_plan', 'statusFormat': '{"meal_plan":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Raw'}, {'dpCode': 'manual_feed', 'dpId': 3, 'enumMappingMap': {}, 'statusCode': 'manual_feed', 'statusFormat': '{"manual_feed":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"","min":1,"max":40,"scale":0,"step":1}', 'valueType': 'Integer'}, {'dpCode': 'feed_state', 'dpId': 4, 'enumMappingMap': {}, 'statusCode': 'feed_state', 'statusFormat': '{"feed_state":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"range":["standby","feeding","done"]}', 'valueType': 'Enum'}, {'dpCode': 'factory_reset', 'dpId': 9, 'enumMappingMap': {}, 'statusCode': 'factory_reset', 'statusFormat': '{"factory_reset":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'feed_report', 'dpId': 15, 'enumMappingMap': {}, 'statusCode': 'feed_report', 'statusFormat': '{"feed_report":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"unit":"","min":0,"max":40,"scale":0,"step":1}', 'valueType': 'Integer'}], 'productKey': 'wfnmgiqqch80sg1w'}}
2024-07-02 19:07:30.368 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940050318, 'sign': 'e3be3c6726dc1e7097d678bc4ef2e490', 'tid': '90d671ae389511efb4f1eab34d9f1570', 'success': True, 'result': {'category': 'wg2', 'functions': [{'code': 'switch_alarm_sound', 'type': 'Boolean', 'values': '{}'}, {'code': 'master_state', 'type': 'Enum', 'values': '{"range":["normal","alarm"]}'}, {'code': 'factory_reset', 'type': 'Boolean', 'values': '{}'}, {'code': 'alarm_active', 'type': 'String', 'values': '{"maxlen":255}'}], 'status': [{'code': 'switch_alarm_sound', 'type': 'Boolean', 'values': '{}'}, {'code': 'master_state', 'type': 'Enum', 'values': '{"range":["normal","alarm"]}'}, {'code': 'factory_reset', 'type': 'Boolean', 'values': '{}'}, {'code': 'alarm_active', 'type': 'String', 'values': '{"maxlen":255}'}]}}
2024-07-02 19:07:30.547 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940050495, 'sign': 'ff3898422c0f75e43f94181fff5748dd', 'tid': '90ee29eb389511ef95782a16f098dad8', 'success': True, 'result': {'category': 'wg2', 'dpStatusRelationDTOS': [{'dpCode': 'switch_alarm_sound', 'dpId': 4, 'enumMappingMap': {}, 'statusCode': 'switch_alarm_sound', 'statusFormat': '{"switch_alarm_sound":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'master_state', 'dpId': 32, 'enumMappingMap': {}, 'statusCode': 'master_state', 'statusFormat': '{"master_state":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"range":["normal","alarm"]}', 'valueType': 'Enum'}, {'dpCode': 'factory_reset', 'dpId': 34, 'enumMappingMap': {}, 'statusCode': 'factory_reset', 'statusFormat': '{"factory_reset":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'alarm_active', 'dpId': 45, 'enumMappingMap': {}, 'statusCode': 'alarm_active', 'statusFormat': '{"alarm_active":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"maxlen":255}', 'valueType': 'String'}], 'productKey': 'gbib3ofgsc5gprgr'}}
2024-07-02 19:07:30.657 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940050605, 'sign': '78e628fee3a4b109fa0f591ff7e383cc', 'tid': '91027a54389511efb179ca75270f3670', 'success': True, 'result': {'category': 'ggq', 'functions': [{'code': 'switch', 'type': 'Boolean', 'values': '{}'}, {'code': 'start', 'type': 'Boolean', 'values': '{}'}, {'code': 'smart_weather', 'type': 'Enum', 'values': '{"range":["sunny","cloudy","rainy","snowy"]}'}], 'status': [{'code': 'switch', 'type': 'Boolean', 'values': '{}'}, {'code': 'start', 'type': 'Boolean', 'values': '{}'}, {'code': 'smart_weather', 'type': 'Enum', 'values': '{"range":["sunny","cloudy","rainy","snowy"]}'}]}}
2024-07-02 19:07:30.793 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940050728, 'sign': 'db967d4794bc5f3d12e6dba56f65c337', 'tid': '91135fab389511ef95782a16f098dad8', 'success': True, 'result': {'category': 'ggq', 'dpStatusRelationDTOS': [{'dpCode': 'switch', 'dpId': 1, 'enumMappingMap': {}, 'statusCode': 'switch', 'statusFormat': '{"switch":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'start', 'dpId': 2, 'enumMappingMap': {}, 'statusCode': 'start', 'statusFormat': '{"start":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{}', 'valueType': 'Boolean'}, {'dpCode': 'smart_weather', 'dpId': 107, 'enumMappingMap': {}, 'statusCode': 'smart_weather', 'statusFormat': '{"smart_weather":"$"}', 'supportLocal': True, 'valueConvert': 'default', 'valueDesc': '{"range":["sunny","cloudy","rainy","snowy"]}', 'valueType': 'Enum'}], 'productKey': 'a7sghmms'}}
2024-07-02 19:07:30.918 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940050867, 'sign': 'd699a5a7205ed52e0c68dd4f204a6e42', 'tid': '912a3027389511efb179ca75270f3670', 'success': True, 'result': {'category': '', 'functions': [], 'status': []}}
2024-07-02 19:07:31.029 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940050972, 'sign': '44a297615687ac868f116eb97eb91aef', 'tid': '913b7126389511ef9097ba20a7751800', 'success': True, 'result': {'category': 'wnykq', 'dpStatusRelationDTOS': [], 'productKey': 'ojfslv68ynd977nj'}}
2024-07-02 19:07:31.150 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940051099, 'sign': '909774e3fdeb7670fad4066d3cb49efd', 'tid': '914c5400389511efb179ca75270f3670', 'success': True, 'result': {'category': 'infrared_light', 'functions': [{'code': 'BlueLight', 'type': 'STRING', 'values': 'BlueLight'}, {'code': 'Brightness+', 'type': 'STRING', 'values': 'Brightness+'}, {'code': 'Brightness-', 'type': 'STRING', 'values': 'Brightness-'}, {'code': 'ColdLight', 'type': 'STRING', 'values': 'ColdLight'}, {'code': 'GreenLight', 'type': 'STRING', 'values': 'GreenLight'}, {'code': 'PowerOff', 'type': 'STRING', 'values': 'PowerOff'}, {'code': 'PowerOn', 'type': 'STRING', 'values': 'PowerOn'}, {'code': 'RedLight', 'type': 'STRING', 'values': 'RedLight'}, {'code': 'WarmLight', 'type': 'STRING', 'values': 'WarmLight'}], 'status': []}}
2024-07-02 19:07:31.273 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940051223, 'sign': 'bbf54f83124a3e980e47da04cbbb565a', 'tid': '9161ac86389511efae879294290d27be', 'success': True, 'result': {'dpStatusRelationDTOS': [{'supportLocal': False}], 'productKey': '000000hvl1'}}
2024-07-02 19:07:31.404 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_specification => {'t': 1719940051346, 'sign': '57bf1fa025758fe90283e96ad365560a', 'tid': '91717b93389511efa7caaa6c9a60812c', 'success': True, 'result': {'category': 'infrared_fan', 'functions': [{'code': 'NegativeIon', 'type': 'STRING', 'values': 'NegativeIon'}, {'code': 'PowerOff', 'type': 'STRING', 'values': 'PowerOff'}, {'code': 'PowerOn', 'type': 'STRING', 'values': 'PowerOn'}, {'code': 'Speed', 'type': 'STRING', 'values': 'Speed'}, {'code': 'Swing', 'type': 'STRING', 'values': 'Swing'}, {'code': 'Timing', 'type': 'STRING', 'values': 'Timing'}], 'status': []}}
2024-07-02 19:07:31.514 WARNING (SyncWorker_5) [custom_components.xtend_tuya] update_device_strategy_info => {'t': 1719940051465, 'sign': '737c771a4fba329ee609adafa0f9c222', 'tid': '9186adc5389511ef977b4ea035c9f230', 'success': True, 'result': {'dpStatusRelationDTOS': [{'supportLocal': False}], 'productKey': '000000hvkz'}}
Damn, it's still not supported by the cloud...
I'm resuming the ticket :)
HA 2022.7.7 (old, I know, but breaks when updating)
Hi,
I'm not able to add the integration, it seems to load according to logs but is not available in UI popup for adding integrations. I tried in incognito mode so cache is not an issue and it is still missing.
I don't see any version check in the code so even if later fails, this shouldn't be happening.
Any hint about this?
Thank you very much