Skip to content

Add CONOW CBE2000 Pro Solar Battery device definition file#5589

Open
marc-schieferdecker wants to merge 7 commits into
make-all:mainfrom
marc-schieferdecker:feature/add-conow-cbe2000-pro-solar-battery-device-definition
Open

Add CONOW CBE2000 Pro Solar Battery device definition file#5589
marc-schieferdecker wants to merge 7 commits into
make-all:mainfrom
marc-schieferdecker:feature/add-conow-cbe2000-pro-solar-battery-device-definition

Conversation

@marc-schieferdecker

@marc-schieferdecker marc-schieferdecker commented Jul 14, 2026

Copy link
Copy Markdown

Summary

Why

  • The standard Tuya integration of Home Assistant is very limited for the CBE2000 Pro, many datapoints missing and you can't even set the base load

Testing

  • Tested with the CBE2000 Pro I have and Tuya Local Version 2026.7.1
    • All inputs/selects tested ✓
    • Loading the battery from grid via automation ✓
    • Feeding the grid by automation ✓

Screenshots

image image image image image

@github-actions

Copy link
Copy Markdown

👮‍♀️⚠️ Your PR seems to be larger than normal. Please check that you did not accidentally submit something you did not intend to. If you are submitting multiple new devices, please consider splitting them into separate PRs.

@make-all make-all left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are no optional dps here. On a device with this many dps it is very unusual for the device to always send them all. Does the config match if the product id is removed?

Comment thread custom_components/tuya_local/devices/conow_cbe2000_pro_battery.yaml Outdated
Comment thread custom_components/tuya_local/devices/conow_cbe2000_pro_battery.yaml Outdated
Comment thread custom_components/tuya_local/devices/conow_cbe2000_pro_battery.yaml Outdated
Comment thread custom_components/tuya_local/devices/conow_cbe2000_pro_battery.yaml Outdated
Comment thread custom_components/tuya_local/devices/conow_cbe2000_pro_battery.yaml Outdated
Comment thread custom_components/tuya_local/devices/conow_cbe2000_pro_battery.yaml Outdated
Comment thread custom_components/tuya_local/devices/conow_cbe2000_pro_battery.yaml Outdated
Comment thread custom_components/tuya_local/devices/conow_cbe2000_pro_battery.yaml Outdated
Comment thread custom_components/tuya_local/devices/conow_cbe2000_pro_battery.yaml Outdated
Comment thread custom_components/tuya_local/devices/conow_cbe2000_pro_battery.yaml Outdated
@make-all make-all moved this from 👀 In review to 🏗 Stalled in Tuya Local Jul 17, 2026
@marc-schieferdecker

Copy link
Copy Markdown
Author

All change requests are now implemented. Thank you for your advice @make-all :-)

@marc-schieferdecker

marc-schieferdecker commented Jul 17, 2026

Copy link
Copy Markdown
Author

There are no optional dps here. On a device with this many dps it is very unusual for the device to always send them all. Does the config match if the product id is removed?

Without the product id it does not match but I do not know which dps are optional or not. I queried the the device info and device properties info on the Tuya IOT portal and in the responses is no info about whats optional and what not so I added the entities that I think are usefull to have in Home Assistant (which is more what you have in den Conow App or SmartLife).

@make-all

Copy link
Copy Markdown
Owner

You won't find this info in the cloud, you figure it out from the log message when you add the device. Any dps that are missing from the log message need to be optional.

@marc-schieferdecker

Copy link
Copy Markdown
Author

You won't find this info in the cloud, you figure it out from the log message when you add the device. Any dps that are missing from the log message need to be optional.

Got it. I set all dps that are not present in the "Partial cloud device spec" json log message to be optional.

I addded the json data of the partial cloud spec for reference.

CBE2000Pro-Partial-Cloud-Spec.json

@make-all make-all moved this from 🏗 Stalled to 👀 In review in Tuya Local Jul 18, 2026
Comment thread custom_components/tuya_local/devices/conow_cbe2000pro_battery.yaml
Comment thread custom_components/tuya_local/devices/conow_cbe2000_pro_battery.yaml Outdated
@make-all

Copy link
Copy Markdown
Owner

Got it. I set all dps that are not present in the "Partial cloud device spec" json log message to be optional.

That is not really correct either.

You need to capture the log of what the device actually sends. Either the warning level log containing LOCAL DPS that appears when you add the device, or a debug level log containing full_poll=true captured during normal device operation.

This can be different from the basic info the cloud returns from the API calls accessible from a QR code login.

@make-all make-all moved this from 👀 In review to 🏗 Stalled in Tuya Local Jul 20, 2026
@marc-schieferdecker

Copy link
Copy Markdown
Author

Got it. I set all dps that are not present in the "Partial cloud device spec" json log message to be optional.

That is not really correct either.

You need to capture the log of what the device actually sends. Either the warning level log containing LOCAL DPS that appears when you add the device, or a debug level log containing full_poll=true captured during normal device operation.

This can be different from the basic info the cloud returns from the API calls accessible from a QR code login.

Okay I understand. I got this from the log:

2026-07-20 10:51:51.276 DEBUG (MainThread) [custom_components.tuya_local.device] CBE2000 received {"1": "-- serial --", "2": 2048, "10": "0000", "11": 0, "12": "unpaired_uncon", "16": false, "17": 0, "18": false, "20": 0, "21": 0, "22": 0, "23": 7, "24": "idle", "25": 0, "26": 0, "27": 0, "30": 17, "31": 0, "32": 0, "33": 0, "34": 0, "35": 0, "36": 0, "37": 0, "38": 0, "40": 3760, "41": 16714, "42": 12116, "43": 12175, "45": 12701, "46": 0, "47": 0, "50": 5, "51": "diy", "53": 200, "54": false, "55": 0, "56": "1", "57": "eco", "59": false, "60": false, "63": false, "64": 800, "65": "scene", "68": "backup", "69": 325, "70": false, "73": "led_bypass", "78": "self_powered", "81": "1784537330", "82": 20, "83": true, "84": 800, "91": 0, "full_poll": true}

I will use this to set the optional dps later this day. Thank you for your advice on that.

@marc-schieferdecker

Copy link
Copy Markdown
Author

I updated the optional DPS based on the debug message above. Should now be correct.

@make-all make-all moved this from 🏗 Stalled to 👀 In review in Tuya Local Jul 20, 2026
- rename file slightly to better follow convention
- reword some entity names to more natural word order
- move static info into attributes, move from problem to battery capacity sensor which is general info about the device
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: 👀 In review

Development

Successfully merging this pull request may close these issues.

2 participants