question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Trying (and failing) to add Eberg Cooly C35HD support

See original GitHub issue

I’ve decoded most needed dpcodes so far, and generated the following yaml, but the integrations crashes on config flow for me. I can’t really spot where i’m making the error. Any pointers?

name: Eberg Cooly C35HD
primary_entity:
  entity: climate
  dps:
    - id: 1
      name: power
      type: boolean
      mapping:
        - dps_val: false
          value: "off"
          icon: "mdi:hvac-off"
          icon_priority: 1
      hidden: true
    - id: 4
      name: unknown_4
      type: integer
    - id: 5
      name: hvac_mode
      type: string
      mapping:
        - dps_val: 3
          icon: "mdi:snowflake"
          icon_priority: 2
          constraint: power
          conditions:
            - dps_val: false
              value_redirect: power
            - dps_val: true
              value: cool
        - dps_val: 4
          icon: "mdi:fan"
          icon_priority: 2
          constraint: power
          conditions:
            - dps_val: false
              value_redirect: power
              value: "off"
            - dps_val: true
              value: fan_only
        - dps_val: 2
          icon: "mdi:water"
          icon_priority: 2
          constraint: power
          conditions:
            - dps_val: false
              value_redirect: power
            - dps_val: true
              value: dry
        - dps_val: 1
          icon: "mdi:fire"
          icon_priority: 2
          constraint: power
          conditions:
            - dps_val: false
              value_redirect: power
            - dps_val: true
              value: heat
    - id: 6
      name: temperature
      type: integer
      mapping:
        - constraint: temperature_unit
          conditions:
            - dps_val: true
              range:
                min: 13
                max: 32
            - dps_val: false
              range:
                min: 55
                max: 90
    - id: 8
      name: fan_mode
      type: string
      mapping:
        - dps_val: 0
          value: "auto"
        - dps_val: 1
          value: "low"
        - dps_val: 2
          value: "medium"
        - dps_val: 3
          value: "high"
    - id: 10
      name: temperature_unit
      type: boolean
      mapping:
        - dps_val: true
          value: "C"
        - dps_val: false
          value: "F"
    - id: 13
      type: integer
      name: unknown_13
    - id: 14
      type: integer
      name: unknown_14
    - id: 15
      type: integer
      name: unknown_15
    - id: 16
      name: swing_mode
      type: boolean
      mapping:
        - dps_val: true
          value: "vertical"
        - dps_val: false
          value: "off"
    - id: 17
      type: boolean
      name: unknown_15
    - id: 18
      type: int
      name: unknown_18
    - id: 19
      type: boolean
      name: unknown_19
2021-12-21 23:04:25 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request
resp = await request_handler(request)
File "/usr/local/lib/python3.9/site-packages/aiohttp/web_app.py", line 504, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.9/site-packages/aiohttp/web_middlewares.py", line 117, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 220, in forwarded_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 78, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 181, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 137, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 157, in post
return await super().post(request, flow_id)
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 62, in wrapper
result = await method(view, request, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
result = await self._flow_mgr.async_configure(flow_id, data)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 252, in async_configure
result = await self._async_handle_step(flow, cur_step["step_id"], user_input)
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 325, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
File "/config/custom_components/tuya_local/config_flow.py", line 35, in async_step_user
return await self.async_step_select_type()
File "/config/custom_components/tuya_local/config_flow.py", line 63, in async_step_select_type
async for type in self.device.async_possible_types():
File "/config/custom_components/tuya_local/device.py", line 94, in async_possible_types
for match in possible_matches(cached_state):
File "/config/custom_components/tuya_local/helpers/device_config.py", line 620, in possible_matches
if parsed.matches(dps):
File "/config/custom_components/tuya_local/helpers/device_config.py", line 89, in matches
if d.id not in dps.keys() or not _typematch(d.type, dps[d.id]):
File "/config/custom_components/tuya_local/helpers/device_config.py", line 23, in _typematch
if isinstance(value, type):
TypeError: isinstance() arg 2 must be a type or tuple of types

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:7 (7 by maintainers)

github_iconTop GitHub Comments

1reaction
make-allcommented, Jan 1, 2022
    - id: 18
      type: int
      name: unknown_18

The type here should be integer.

Hopefully this helps get it going so you can figure out some more of the values.

0reactions
ishionicommented, Jan 8, 2022

PR in #113

Read more comments on GitHub >

github_iconTop Results From Across the Web

COOLY C35HD BLACK
COOLY C35HD BLACK PL www.eberg.eu. • Z urządzenia mogą korzystać dzieci w wieku od 8 lat i starsze oraz osoby ze zmniejszonymi.
Read more >
Untitled
What are some service oriented jobs, Minecraft hide and seek cracked server. ... Plan valloire 73450, Powershell add-content create file, ...
Read more >
Untitled
Micro dsc ta, Spdr gold trust quote, Siskel and ebert review rocky, ... Epic lawn mower fails, Parer un cheval prix, Diane lewis...
Read more >
Dimmable Vintage LED Edison Light Bulbs 100W Equivalent ...
Dimmable Vintage LED Edison Light Bulbs 100W Equivalent, 8W ST58 Cool White 4000K 1200Lumens ... Add to Cart ... Support: Free Amazon tech...
Read more >
United States Government publications monthly catalog, May ...
Army Service Forces______________________________________________ 620 ... In computing foreign postage, add one-third of the price of the ... C35.2:P27.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found