Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve tuya_data_point_dump: Log decoded DPs #3687

Merged
merged 1 commit into from
Jan 16, 2022

Conversation

gmbnomis
Copy link
Contributor

@gmbnomis gmbnomis commented Jan 16, 2022

Up to now, tuya_data_point_dump dumped the DP values in machine readable
format, necessitating the use of the Python script tuya_data_point_dump.py
to decode it. Additionally, the list of data point IDs in that script is
not complete (actually, it is rather specific for Saswell devices).

zigbee-herdsman-converters actually has the most up-to-date list of DP
values built-in. And it comes with DP value converters for the DP data
types. We can use this to log incoming DP values in a human readable format
containing the DP ID, data type, decoded value and the already known uses of
the DP IP:

zigbee-herdsman-converters:tuya_data_point_dump: Received DP #1 from 0x845134eaae1d0412 with raw data '{"dp":1,"datatype":4,"data":{"type":"Buffer","data":[1]}}': type='commandDataResponse', datatype='enum', value='1', known DP# usage: ["state","moesSsystemMode","moes105DimmerState1","trsPresenceState","haozeeSystemMode","nousTemperature","wlsWaterLeak"]
zigbee-herdsman-converters:tuya_data_point_dump: Received DP #4 from 0x845134eaae1d0412 with raw data '{"dp":4,"datatype":2,"data":{"type":"Buffer","data":[0,0,0,86]}}': type='commandDataResponse', datatype='value', value='86', known DP# usage: ["mode","moesSboostHeating","haozeeBoostHeating","nousBattery","wlsBatteryPercentage"]

In general, this output should be sufficient to enable new Tuya devices
(However, this won't decode more complex data structures for Saswell devices
(like tuya_data_point_dump.py does for schedules)).

@gmbnomis
Copy link
Contributor Author

gmbnomis commented Jan 16, 2022

This improvement proposal came up in a discussion with @flatsiedatsie in Koenkk/zigbee2mqtt#10534.

If we want to go this direction, I will adapt the documentation accordingly.

@Koenkk
Copy link
Owner

Koenkk commented Jan 16, 2022

looks good, if you can make a pr for the docs I can merge this.

Up to now, `tuya_data_point_dump` dumped the DP values in machine readable
format, necessitating the use of the Python script `tuya_data_point_dump.py`
to decode it.  Additionally, the list of data point IDs in that script is
not complete (actually, it is rather specific for Saswell devices).

`zigbee-herdsman-converters` actually has the most up-to-date list of DP
values built-in.  And it comes with DP value converters for the DP data
types.  We can use this to log incoming DP values in a human readable format
containing the DP ID, data type, decoded value and the already known uses of
the DP IP:

```
zigbee-herdsman-converters:tuya_data_point_dump: Received DP Koenkk#1 from 0x845134eaae1d0412 with raw data '{"dp":1,"datatype":4,"data":{"type":"Buffer","data":[1]}}': type='commandDataResponse', datatype='enum', value='1', known DP# usage: ["state","moesSsystemMode","moes105DimmerState1","trsPresenceState","haozeeSystemMode","nousTemperature","wlsWaterLeak"]
zigbee-herdsman-converters:tuya_data_point_dump: Received DP Koenkk#4 from 0x845134eaae1d0412 with raw data '{"dp":4,"datatype":2,"data":{"type":"Buffer","data":[0,0,0,86]}}': type='commandDataResponse', datatype='value', value='86', known DP# usage: ["mode","moesSboostHeating","haozeeBoostHeating","nousBattery","wlsBatteryPercentage"]
```

In general, this output should be sufficient to enable new Tuya devices
(However, this won't decode more complex data structures for Saswell devices
(like tuya_data_point_dump.py does for schedules)).
gmbnomis added a commit to gmbnomis/zigbee2mqtt.io that referenced this pull request Jan 16, 2022
Describe how to use the logging introduced by
Koenkk/zigbee-herdsman-converters#3687 to
identify data points when adding a new Tuya device.
@gmbnomis
Copy link
Contributor Author

(I re-pushed the commit to correct typos in the commit message, no code changes)

@gmbnomis
Copy link
Contributor Author

Documentation MR is at Koenkk/zigbee2mqtt.io#1143

@Koenkk Koenkk merged commit 914d095 into Koenkk:master Jan 16, 2022
@Koenkk
Copy link
Owner

Koenkk commented Jan 16, 2022

thanks!

Koenkk pushed a commit to Koenkk/zigbee2mqtt.io that referenced this pull request Jan 16, 2022
Describe how to use the logging introduced by
Koenkk/zigbee-herdsman-converters#3687 to
identify data points when adding a new Tuya device.
@gmbnomis gmbnomis deleted the improve_tuya_dump branch January 16, 2022 20:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants