home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
69.72k stars 28.87k forks source link

Support Tuya BAF-908 Smart Watering System #117304

Open malwikl opened 1 month ago

malwikl commented 1 month ago

The problem

Hi all,

I acquired a Tuya BAF 908 Smart Watering System similar to this one: https://de.aliexpress.com/item/1005004188351618.html

It has two valves with a timer and can be programmed... In HA it is recognized as a thermostat, but as far I can figure out in the diagnostics data I can see the two valves, two timers (1..360 seconds each) and a mode switch (manual/auto).

Can you hint me how I can define/change the mapping to home assistant entities?

Thanks MAlWiKl

What version of Home Assistant Core has the issue?

core-2024.5.3

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant Container

Integration causing the issue

Tuya

Link to integration documentation on our website

https://www.home-assistant.io/integrations/tuya/

Diagnostics information

{ "home_assistant": { "installation_type": "Home Assistant Container", "version": "2024.5.3", "dev": false, "hassio": false, "virtualenv": false, "python_version": "3.12.2", "docker": true, "arch": "aarch64", "timezone": "Europe/Berlin", "os_name": "Linux", "os_version": "6.6.16-current-meson64", "run_as_root": true }, "custom_components": { "nuki_ng": { "documentation": "https://github.com/kvj/hass_nuki_ng", "version": "0.2.1", "requirements": [] }, "climate_group": { "documentation": "https://github.com/daenny/climate_group", "version": "0.4.2", "requirements": [] }, "browser_mod": { "documentation": "https://github.com/thomasloven/hass-browser_mod/blob/master/README.md", "version": "2.3.0", "requirements": [] }, "dwains_dashboard": { "documentation": "https://dwainscheeren.github.io/dwains-lovelace-dashboard/", "version": "3.1.1", "requirements": [] }, "ui_lovelace_minimalist": { "documentation": "https://ui-lovelace-minimalist.github.io/UI/", "version": "v1.3.9", "requirements": [ "aiofiles==0.8.0", "aiogithubapi>=22.2.4" ] }, "tapo_control": { "documentation": "https://github.com/JurajNyiri/HomeAssistant-Tapo-Control", "version": "5.4.13", "requirements": [ "pytapo==3.3.19" ] }, "hacs": { "documentation": "https://hacs.xyz/docs/configuration/start", "version": "1.34.0", "requirements": [ "aiogithubapi>=22.10.1" ] }, "webrtc": { "documentation": "https://github.com/AlexxIT/WebRTC", "version": "v3.5.2", "requirements": [] } }, "integration_manifest": { "domain": "tuya", "name": "Tuya", "codeowners": [ "@Tuya", "@zlinoliver", "@frenck" ], "config_flow": true, "dependencies": [ "ffmpeg" ], "dhcp": [ { "macaddress": "105A17" }, { "macaddress": "10D561" }, { "macaddress": "1869D8" }, { "macaddress": "381F8D" }, { "macaddress": "508A06" }, { "macaddress": "68572D" }, { "macaddress": "708976" }, { "macaddress": "7CF666" }, { "macaddress": "84E342" }, { "macaddress": "D4A651" }, { "macaddress": "D81F12*" } ], "documentation": "https://www.home-assistant.io/integrations/tuya", "integration_type": "hub", "iot_class": "cloud_push", "loggers": [ "tuya_iot" ], "requirements": [ "tuya-device-sharing-sdk==0.1.9" ], "is_built_in": true }, "data": { "endpoint": "https://apigw.tuyaeu.com", "terminal_id": "1715440815237CdepHJ", "mqtt_connected": true, "disabled_by": null, "disabled_polling": false, "id": "bfc24727a7c200067efocd", "name": "Balkonbew\u00e4sserung", "category": "wk", "product_id": "abzzvtulukkwzynv", "product_name": "smart watering device", "online": true, "sub": false, "time_zone": "+02:00", "active_time": "2024-05-11T15:12:51+00:00", "create_time": "2024-05-11T15:12:51+00:00", "update_time": "2024-05-11T15:12:51+00:00", "function": { "switch": { "type": "Boolean", "value": {} }, "mode": { "type": "Enum", "value": { "range": [ "auto", "manual" ] } }, "temp_set": { "type": "Integer", "value": { "unit": "s", "min": 0, "max": 360, "scale": 0, "step": 1 } } }, "status_range": { "switch": { "type": "Boolean", "value": {} }, "mode": { "type": "Enum", "value": { "range": [ "auto", "manual" ] } }, "temp_set": { "type": "Integer", "value": { "unit": "s", "min": 0, "max": 360, "scale": 0, "step": 1 } } }, "status": { "switch": false, "mode": "manual", "temp_set": 360 }, "home_assistant": { "name": "Balkonbew\u00e4sserung", "name_by_user": null, "disabled": false, "disabled_by": null, "entities": [ { "disabled": false, "disabled_by": null, "entity_category": null, "device_class": null, "original_device_class": null, "icon": null, "original_icon": null, "unit_of_measurement": null, "state": { "entity_id": "climate.balkonbewasserung", "state": "off", "attributes": { "hvac_modes": [ "off", "heat_cool", "heat_cool" ], "min_temp": 0.0, "max_temp": 360.0, "target_temp_step": 1.0, "current_temperature": null, "temperature": 360.0, "friendly_name": "Balkonbew\u00e4sserung", "supported_features": 385 }, "last_changed": "2024-05-11T15:38:24.013089+00:00", "last_reported": "2024-05-11T15:38:24.013089+00:00", "last_updated": "2024-05-11T15:38:24.013089+00:00" } } ] }, "set_up": true, "support_local": true } }

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

home-assistant[bot] commented 1 month ago

Hey there @tuya, @zlinoliver, @frenck, mind taking a look at this issue as it has been labeled with an integration (tuya) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `tuya` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign tuya` Removes the current integration label and assignees on the issue, add the integration domain after the command. - `@home-assistant add-label needs-more-information` Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue. - `@home-assistant remove-label needs-more-information` Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


tuya documentation tuya source (message by IssueLinks)

ninharp commented 1 month ago

I have the same Issue with that specific device. Its recognized as HVAC. And nothing is working, except a mode change to switch the device off. But as @malwikl mentioned the datapoints for the pump, duration, ... are shown in diagnostic data Screenshot_20240514-215101

Edit: I got it to run partially with the local_tuya integration, but you must add/map the datapoints by yourself. And it looks like local_tuya doesnt have any possible datapoint in its internal database, in the tuya iot api browser i see some more datapoints (in that specific case the datapoints for the timers, runtime, ...) which are missing in the local_tuya integration. What work so far is on/off, change pump combination (means A,B,A+B), setting of temp (whatever that is), and a sensor which shows the current "clockTime" which is the duration in seconds how long the pumps are pumping at the moment.

salemh commented 3 weeks ago

I really appreciate if you can explain how you fixed the problem. Even the local_tuya for me is not known. Thank you in advance.

tgroszkowski commented 2 weeks ago

up @tuya?

ninharp commented 2 weeks ago

I really appreciate if you can explain how you fixed the problem. Even the local_tuya for me is not known. Thank you in advance. @salemh Yes, sure. The local_tuya is the equivalent of the tuya integration but use only local connections to the device for communication to not be depending on an internet/cloud connection. If you create a simple developer account on the tuya developer portal you could easily add your tuya app account to the developer account at tuya to debug your devices which are connected to the cloud and your app account. If you have successfully linked your app account you can then use the tuya api explorer to examine the devices and find out the needed local key for the encryption of the communication to the device (most of that the local_tuya integration already does for you) its just you need to find out some datapoints which are not always labeled very good. So the api explorer is for that the correct tool to find out and fiddle around with the unknown datapoints. Dont hesitate to contact me if you encounter any problems in integrating tuya devices with the local_tuya integration.

salemh commented 2 weeks ago

Thank you a lot. I just added HACS and will go ahead with local tuya. I have one issue with smart watering device that appears as thermostat and driving me crazy. Not sure if I can add pictures here but just in case here

Sent from Outlook for iOShttps://aka.ms/o0ukef


From: ninharp @.> Sent: Wednesday, June 12, 2024 9:02:32 PM To: home-assistant/core @.> Cc: salemh @.>; Mention @.> Subject: Re: [home-assistant/core] Support Tuya BAF-908 Smart Watering System (Issue #117304)

I really appreciate if you can explain how you fixed the problem. Even the local_tuya for me is not known. Thank you in advance. @salemhhttps://github.com/salemh Yes, sure. The local_tuya is the equivalent of the tuya integration but use only local connections to the device for communication to not be depending on an internet/cloud connection. If you create a simple developer account on the tuya developer portal you could easily add your tuya app account to the developer account at tuya to debug your devices which are connected to the cloud and your app account. If you have successfully linked your app account you can then use the tuya api explorer to examine the devices and find out the needed local key for the encryption of the communication to the device (most of that the local_tuya integration already does for you) its just you need to find out some datapoints which are not always labeled very good. So the api explorer is for that the correct tool to find out and fiddle around with the unknown datapoints. Dont hesitate to contact me if you encounter any problems in integrating tuya devices with the local_tuya integration.

— Reply to this email directly, view it on GitHubhttps://github.com/home-assistant/core/issues/117304#issuecomment-2163517055, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABMRDSRDAQ4FYSXEVIJHOU3ZHB5KRAVCNFSM6AAAAABHS2CHGOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNRTGUYTOMBVGU. You are receiving this because you were mentioned.Message ID: @.***>

GitHubHAuser commented 1 week ago

I also own such a BAF-908 watering can. Can wait Home Assistant to fully support this device? Thank You...