Closed chris4824 closed 5 months ago
forgot to mention that I am using your master branch. changing modes through home assistant doesn't work.
Hello, Re-download master branch via HACS and restart HA then Re-Add the device
I will have to redownload master and add it manually when I get home to my pc cause hacs is not letting me download master. Thank you so much for trying so quickly.
I manually redownloaded and added your master branch and restarted HA. still showing as unknown when on cool or fan mode. it will turn it on and off. but when changing to cool it goes to cool but shows unknown and when changing it to fan mode it goes to cool but shows unknown so fan mode doesn't work at all. let me know if you need any more info. thanks
{ "home_assistant": { "installation_type": "Home Assistant OS", "version": "2024.3.0b2", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.12.2", "docker": true, "arch": "x86_64", "timezone": "America/New_York", "os_name": "Linux", "os_version": "6.6.16-haos", "supervisor": "2024.02.1", "host_os": "Home Assistant OS 12.0", "docker_version": "24.0.7", "chassis": "vm", "run_as_root": true }, "custom_components": { "cielo_home": { "version": "1.6.8", "requirements": [] }, "weatherdotcom": { "version": "1.1.6", "requirements": [] }, "smartlife": { "version": "0.1.0", "requirements": [ "tuya-device-sharing-sdk==0.1.9" ] }, "ttlock": { "version": "v0.6.1", "requirements": [ "pydantic" ] }, "alarmo": { "version": "v1.9.14", "requirements": [] }, "blueiris": { "version": "1.0.16", "requirements": [] }, "localtuya": { "version": "3.2.4.3", "requirements": [] }, "alexa_media": { "version": "4.9.2", "requirements": [ "alexapy==1.27.10", "packaging>=20.3", "wrapt>=1.14.0" ] }, "dreo": { "version": "0.1.3", "requirements": [ "websockets" ] }, "meross_cloud": { "version": "1.2.13", "requirements": [ "meross_iot==0.4.6.1" ] }, "hacs": { "version": "1.34.0", "requirements": [ "aiogithubapi>=22.10.1" ] } }, "integration_manifest": { "domain": "localtuya", "name": "Local Tuya", "codeowners": [], "config_flow": true, "dependencies": [], "documentation": "https://github.com/xZetsubou/hass-localtuya/", "integration_type": "hub", "iot_class": "local_push", "issue_tracker": "https://github.com/xZetsubou/hass-localtuya/issues", "requirements": [], "version": "3.2.4.3", "is_built_in": false }, "data": { "device_config": { "friendly_name": "Tyler's AC", "host": "192.168.1.7", "device_id": "...", "local_key": "...", "protocol_version": "3.3", "enable_debug": false, "node_id": null, "model": "Ivation Air Conditioner ", "product_key": "...", "dps_strings": [ "1 ( code: Power , value: False )", "2 ( code: temp_set , value: 72 )", "3 ( code: temp_current , value: 67 )", "4 ( code: mode , value: COOL )", "5 ( code: windspeed , value: 1 )", "19 ( code: C_F , value: F )", "101 ( code: SLEEP , value: False )", "102 ( code: Defrost , value: False )", "103 ( code: Timer , value: 0 )", "104 ( code: Shake , value: False )", "105 ( code: coutdown , value: 0 )", "106 ( code: Alarm , value: 0 )", "109 ( code: innerdry , value: False )", "110 ( code: model , value: 1 )" ], "entities": [ { "id": "1", "entity_category": "None", "min_temperature": 7.0, "max_temperature": 86.0, "precision": "1", "target_precision": "1", "hvac_mode_set": { "off": false, "cool": "cold", "dry": "wet", "fan_only": "wind" }, "hvac_action_set": { "cooling": "cooling" }, "preset_set": {}, "fan_speed_list": "1,2,3", "target_temperature_dp": "2", "current_temperature_dp": "3", "temperature_step": "1", "hvac_mode_dp": "4", "fan_speed_dp": "5", "temperature_unit": "fahrenheit", "friendly_name": "", "platform": "climate" } ] }, "device_cloud_info": { "active_time": 1704513585, "biz_type": 18, "category": "kt", "create_time": 1677097502, "icon": "smart/icon/ay1538685097769bBnGX/c9b8b370e60158848549012dfe6cd30c.png", "id": "...", "ip": "6...8", "lat": "33.7600", "local_key": "...", "lon": "-79.1900", "model": "12k", "name": "Tyler's AC", "online": true, "owner_id": "38040947", "product_id": "...", "product_name": "Ivation Air Conditioner ", "status": [ { "code": "Power", "value": false }, { "code": "temp_set", "value": 72 }, { "code": "temp_current", "value": 67 }, { "code": "mode", "value": "COOL" }, { "code": "windspeed", "value": "1" }, { "code": "C_F", "value": "F" }, { "code": "SLEEP", "value": false }, { "code": "Defrost", "value": false }, { "code": "Timer", "value": 0 }, { "code": "Shake", "value": false }, { "code": "coutdown", "value": 0 }, { "code": "Alarm", "value": 0 }, { "code": "innerdry", "value": false }, { "code": "model", "value": "1" } ], "sub": false, "time_zone": "-05:00", "uid": "...", "update_time": 1708906697, "uuid": "...", "dps_data": { "1": { "code": "Power", "custom_name": "", "dp_id": 1, "time": 1709208001218, "value": false, "type": "Boolean", "values": "{\"type\": \"bool\", \"typeDefaultValue\": False}", "id": 1, "accessMode": "rw" }, "2": { "code": "temp_set", "custom_name": "", "dp_id": 2, "time": 1709163765382, "value": 72, "type": "Integer", "values": "{\"max\": 86, \"min\": 16, \"scale\": 0, \"step\": 1, \"type\": \"value\", \"typeDefaultValue\": 16, \"unit\": \"\u2103\"}", "id": 2, "accessMode": "rw" }, "3": { "code": "temp_current", "custom_name": "", "dp_id": 3, "time": 1709310733444, "value": 67, "id": 3, "accessMode": "ro", "values": "{\"max\": 110, \"min\": -7, \"scale\": 0, \"step\": 1, \"type\": \"value\", \"typeDefaultValue\": -7, \"unit\": \"\u2103\"}" }, "4": { "code": "mode", "custom_name": "", "dp_id": 4, "time": 1709163766962, "value": "COOL", "type": "Enum", "values": "{\"range\": [\"COOL\", \"FAN\", \"DRY\"], \"type\": \"enum\", \"typeDefaultValue\": \"COOL\"}", "id": 4, "accessMode": "rw" }, "5": { "code": "windspeed", "custom_name": "", "dp_id": 5, "time": 1707601513363, "value": "1", "type": "Enum", "values": "{\"range\": [\"1\", \"2\", \"3\"], \"type\": \"enum\", \"typeDefaultValue\": \"1\"}", "id": 5, "accessMode": "rw" }, "19": { "code": "C_F", "custom_name": "", "dp_id": 19, "time": 1707601513363, "value": "F", "type": "Enum", "values": "{\"range\": [\"C\", \"F\"], \"type\": \"enum\", \"typeDefaultValue\": \"C\"}", "id": 19, "accessMode": "rw" }, "101": { "code": "SLEEP", "custom_name": "", "dp_id": 101, "time": 1707601513363, "value": false, "type": "Boolean", "values": "{\"type\": \"bool\", \"typeDefaultValue\": False}", "id": 101, "accessMode": "rw" }, "102": { "code": "Defrost", "custom_name": "", "dp_id": 102, "time": 1707601513363, "value": false, "id": 102, "accessMode": "ro", "values": "{\"type\": \"bool\", \"typeDefaultValue\": False}" }, "103": { "code": "Timer", "custom_name": "", "dp_id": 103, "time": 1707601513363, "value": 0, "type": "Integer", "values": "{\"max\": 24, \"min\": 0, \"scale\": 0, \"step\": 1, \"type\": \"value\", \"typeDefaultValue\": 0, \"unit\": \"\u5c0f\u65f6\"}", "id": 103, "accessMode": "rw" }, "104": { "code": "Shake", "custom_name": "", "dp_id": 104, "time": 1707601513363, "value": false, "type": "Boolean", "values": "{\"type\": \"bool\", \"typeDefaultValue\": False}", "id": 104, "accessMode": "rw" }, "105": { "code": "coutdown", "custom_name": "", "dp_id": 105, "time": 1707601513363, "value": 0, "id": 105, "accessMode": "ro", "values": "{\"max\": 1440, \"min\": 0, \"scale\": 0, \"step\": 1, \"type\": \"value\", \"typeDefaultValue\": 0, \"unit\": \"\u5206\u949f\"}" }, "106": { "code": "Alarm", "custom_name": "", "dp_id": 106, "time": 1707601513363, "value": 0, "id": 106, "accessMode": "ro", "values": "{\"label\": [\"0\", \"1\", \"2\", \"3\", \"4\"], \"maxlen\": 5, \"type\": \"bitmap\", \"typeDefaultValue\": 0}" }, "109": { "code": "innerdry", "custom_name": "", "dp_id": 109, "time": 1707601513363, "value": false, "type": "Boolean", "values": "{\"type\": \"bool\", \"typeDefaultValue\": False}", "id": 109, "accessMode": "rw" }, "110": { "code": "model", "custom_name": "", "dp_id": 110, "time": 1707601513363, "value": "1", "id": 110, "accessMode": "ro", "values": "{\"range\": [\"0\", \"1\"], \"type\": \"enum\", \"typeDefaultValue\": \"0\"}" } } } } }
After installing the master you will need to remove and re-add the device "auto configure entities" or did you add the entities manually from the start?
I removed the entire integration and then re-added it and the devices. I had to manually add the entities cause auto configure doesn't work.
entities cause auto configure doesn't work
If the auto-configure shows an error this is different issue, auto configure will configure more entities then climate if you used it, I thought it's related to auto-configure entities feature. is there an errors shows when you try to auto configure it?
Manually you configured it incorrectly, the issue is in HVAC Modes. it probably should have been like this. you can re-configure an existed device and modify it.
cool: "COOL"
dry: "DRY"
fan_only: "FAN"
When using auto configure it just says error. I have the hvac codes as follow
"off": false cool: cold dry: wet fan_only: wind
after using your suggestion it is now showing correctly but when you try to go from cool to fan it works but it will not go from fan to cool or when you turn it off when it was on fan and turn it back on with cool it goes to fan since that is what it was on when turned off. Hopefully I'm making sense. should there be anything in the (Optional) HVAC Actions section? I have
cooling: cooling
Thanks again.
Testing alittle further. seems to be working like it should. Thank you so much. Think you can help with a couple of robot vacuums too? you can close this issue. Thank you again
When using auto configure it just says error
What's the error that shows up? is there is empty error popup check the logs
Settings -> System -> Logs
I want to prevent this in the future :)
this is what shows up in the logs when I try to add one of the a/c automatically
Logger: aiohttp.server Source: /usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py:421 First occurred: 7:43:47 PM (1 occurrences) Last logged: 7:43:47 PM
Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request
resp = await request_handler(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 543, in _handle
resp = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py", line 114, in impl
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 91, in security_filter_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 25, in request_context_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 79, in ban_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 235, in auth_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 31, in headers_middleware
response = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/http.py", line 68, in handle
result = await handler(request, request.match_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 72, in with_admin
return await func(self, request, *args, *kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 256, in post
return await super().post(request, flow_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
result = await method(view, request, data, args, kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 111, in post
result = await self._flow_mgr.async_configure(flow_id, data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 359, in async_configure
result = await self._async_configure(flow_id, user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 401, in _async_configure
result = await self._async_handle_step(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 502, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/localtuya/config_flow.py", line 925, in async_step_auto_configure_device
dev_data = gen_localtuya_entities(localtuya_data, category)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/localtuya/core/ha_entities/init.py", line 126, in gen_localtuya_entities
dp_values = get_dp_values(config_dp, dps_data, v) or {}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/localtuya/core/ha_entities/init.py", line 195, in get_dp_values
dp_values["scale"] = pref_type(scale(1, val_scale, float))
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/localtuya/core/ha_entities/init.py", line 216, in scale
return _type(value) / (10scale)
^^~~~
TypeError: unsupported operand type(s) for or pow(): 'int' and 'str'
Thanks, I missed that :). it should be fixed in the newest master version.
awesome. thanks again. I opened another issue with some vacuums if you get a chance to look..
Thanks
So when the A/C is in cool mode it shows as unknown but when off it shows as off.