azerty9971 / xtend_tuya

eXtend Tuya's integration
GNU General Public License v3.0
28 stars 4 forks source link

Add support for temperature and humidity sensors missing in Smart IR device (previously: Unable to add integration) #25

Open albertdb opened 1 week ago

albertdb commented 1 week ago

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

azerty9971 commented 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

albertdb commented 1 week ago

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!

azerty9971 commented 1 week ago

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

albertdb commented 1 week ago

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

azerty9971 commented 1 week ago

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

albertdb commented 1 week ago

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.

albertdb commented 1 week ago

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"
}
albertdb commented 1 week ago

With localtuya protocol 3.4 I'm able to fetch the datapoints, fortunately.

azerty9971 commented 1 week ago

how did you get that? That might be the solution I'm waiting for from Tuya!!

albertdb commented 1 week ago

Explained here: https://community.home-assistant.io/t/get-local-key-tuya-since-june-2022/436399/10

albertdb commented 1 week ago

Explained here: https://community.home-assistant.io/t/get-local-key-tuya-since-june-2022/436399/10

Did this help? @azerty9971

azerty9971 commented 1 week ago

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...

azerty9971 commented 6 days ago

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)

azerty9971 commented 5 days ago

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)

azerty9971 commented 5 days ago

Also, after updating to the latest beta of XT, could you post the diagnostic data here? The missing information should now be in it :)

albertdb commented 5 days ago

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.

azerty9971 commented 4 days ago

Can you send me the logs in Settings -> System -> Logs and click download logs?

This will tell me where it failed ;)

albertdb commented 4 days ago

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)
azerty9971 commented 4 days ago

image The part where in my screen it says "Télécharger les journeaux complets" ;)

azerty9971 commented 2 days ago

Hello Albertdb, Can you try the latest version and let me know if it works better?

Have a nice day, Azerty

albertdb commented 2 days ago

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.

azerty9971 commented 2 days ago

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 ;)

albertdb commented 2 days ago

Already did that, also restarted HA, Tuya doesn't complain anymore but Xtended continues to throw the same error.

azerty9971 commented 2 days ago

OK, I understand why, I'll post a beta version that tries to fix that soon ;)

albertdb commented 2 days ago

Thank you very much

azerty9971 commented 2 days ago

Can you try with version 1.2.6 beta 1 ?

albertdb commented 2 days ago

Now integration works but unfortunately, nothing change device-wise.

I'm attaching diagnostics xtend_tuya-caee639c76342083149929b7f222c5ef-Habitación-d90703560f8848fde427d26d95aa4b06.json

azerty9971 commented 2 days ago

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?

albertdb commented 2 days ago

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

azerty9971 commented 2 days ago

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)

azerty9971 commented 2 days ago

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

albertdb commented 2 days ago

Oh, ok, reusing version numbers tends to cause confusion 😅

Update appeared immediately.

Here it is error_log(1).txt

azerty9971 commented 2 days ago

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.

azerty9971 commented 2 days ago

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 ;))

albertdb commented 2 days ago

It is this one, Chinese AliExpress stuff, no known brand.

https://a.aliexpress.com/_Ez9cuXh

Which BTW now costs twice, LOL.

azerty9971 commented 1 day ago

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

albertdb commented 1 day ago

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

azerty9971 commented 19 hours ago

Hello, It might be fixed. If not could you restart your HA and send me the logs?

Thanks in advance, Azerty

albertdb commented 12 hours ago

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'}}
azerty9971 commented 11 hours ago

Damn, it's still not supported by the cloud...

I'm resuming the ticket :)