[APP][Pro] Tuya Zigbee App

@johan_bendz i dont know of it is possible, but mabey a idea to add a Option in a flow to only open or close the valve? So they can use virtuele thermostaat in every room.

Thnx!

Lidl version of the app (with limited number of devices) is now in test version for the bridge/cloud.
Please try it out :slight_smile:

3 Likes

sorry for the spam,
I don’t know the formatting settings

Looks like you used different way (chrome console?) to get the interview data, please use the explanation in the first post which will also keep the formatting intact.

For now I will remove your interview posts as it has no point in me to even try to fix it.

Anybody know, if will be supported Aqara Thermostat e1?

Aqara isn’t Tuya, you need to check out the Aqara thread.

Can I make a request regarding the 4 Gang Wall Remote (TZ3000_wkai4ga5 - TS004)
Currently the buttons are mapped wrong:

Actual Button / Current Mapping

Upper Left / Lower Left
Upper Right / Lower RIght
Lower Left / Upper Right
Lower Right / Upper Left

Is there any chance when time permits to correct these? It currently gets quite confusing in flows, also the buttons support Single Press / Double Press and also Hold in Tuya, currently there is only Single and Double in the app, is there any chance of the Hold option being added?

TIA

1 Like

Somehow there is something wrong here. I ordered by mistake the Tuya sensors instead of the Aqara… and I don’t get them working.

When I add them with version 0.2.3 it adds but directly with an exclamation mark and the notice: no device found.
Schermafbeelding 2022-10-14 om 16.01.53

I tested multiple sensors…

As a generic Zigbee device it identified itself with _TZ3000_8ybe88nf TS0201

Hi,
My curtain modules were not working with Tuya zigbee
“modelId”: “TS130F”,
“manufacturerName”: “_TZ3000_zirycpws”
I installed the test version 0.2.3
Now I can move the shutters from Homey, that is great…

but…
Is there a way to change the end position? It is stopping half way…

Another topic with the curtain module and the app…
“modelId”: “TS130F”,
“manufacturerName”: “_TZ3000_zirycpws”
There are 2 buttons and a slider, the slider is working in the opiside of the buttons.
when the slider is in the position “almost open”, and I click on the BUTTON ‘fully open’, the blinds will fully close.
looking foreward to the next test version to test

Do you plan to support a 6 button On-Wall/Remote switch?
e.g. https://nl.aliexpress.com/item/1005003731082631.html

It’s not possible for the developer to respond to that. Not only don’t they have all Tuya devices in the world, even if a similar looking device is supported right now doesn’t mean that the one you get from China will work (because manufacturers regularly change internal identifiers that the Homey app relies on for support).

So you have to take a chance, buy the device, see if it’s already supported, and if not, read the first post of this thread on how to ask for support to be added.

2 Likes

Does anybody know if the Tuya App supports setting reporting configuration on Tuya TS011F smart plugs like the _TZ3000_gjnozsaz that support reporting (I know this depends on FW version as well)?

I took a quick look at the driver, but it does not look like it uses/sets reportingConfiguration for devices that support it for example on “activePower”:

Main questions:

  1. Can reporting plugs actually use reporting on Homey, instead of Homey polling it (update every few s instead of every 60s)
  2. Can reporting parameters be set from the app, or does it just use the current default config of the plug?

Renzo, I’ve got the same issue. Got personal contact (by DM) with the dev. he is looking for a solution. When it’s solved dont forget to donate :wink:

2 Likes

Another vote for the Moes 3 gang switch - appreciate your work!


  "ids": {
    "modelId": "TS0601",
    "manufacturerName": "_TZE200_tz32mtza"
  },
  "endpoints": {
    "endpointDescriptors": [
      {
        "endpointId": 1,
        "applicationProfileId": 260,
        "applicationDeviceId": 81,
        "applicationDeviceVersion": 0,
        "_reserved1": 1,
        "inputClusters": [
          0,
          4,
          5,
          61184
        ],
        "outputClusters": [
          25,
          10
        ]
      }
    ],
    "endpoints": {
      "1": {
        "clusters": {
          "basic": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0,
                "name": "zclVersion",
                "value": 3,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 1,
                "name": "appVersion",
                "value": 66,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 2,
                "name": "stackVersion",
                "value": 0,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 3,
                "name": "hwVersion",
                "value": 1,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 4,
                "name": "manufacturerName",
                "value": "_TZE200_tz32mtza",
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 5,
                "name": "modelId",
                "value": "TS0601",
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 6,
                "name": "dateCode",
                "value": "",
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 7,
                "name": "powerSource",
                "value": "battery",
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "writable",
                  "reportable"
                ],
                "id": 65502,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65533,
                "name": "clusterRevision",
                "value": 2,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65534,
                "name": "attributeReportingStatus",
                "value": "PENDING",
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65504,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65505,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65506,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65507,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "groups": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0,
                "name": "nameSupport",
                "value": {
                  "type": "Buffer",
                  "data": [
                    0
                  ]
                },
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65533,
                "name": "clusterRevision",
                "value": 2,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "scenes": {
            "attributes": [
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 0,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 1,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 2,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 3,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 4,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              },
              {
                "acl": [
                  "readable",
                  "reportable"
                ],
                "id": 65533,
                "name": "clusterRevision",
                "value": 2,
                "reportingConfiguration": {
                  "status": "NOT_FOUND",
                  "direction": "reported"
                }
              }
            ],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          }
        },
        "bindings": {
          "ota": {
            "attributes": [],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "time": {
            "attributes": [],
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          }
        }
      }
    }
  }

Can you please add this smart plug with metering?

  "ids": {
    "modelId": "TS011F",
    "manufacturerName": "_TZ3000_r6buo8ba"
  },
  "endpoints": {
    "endpointDescriptors": [
      {
        "endpointId": 1,
        "applicationProfileId": 260,
        "applicationDeviceId": 81,
        "applicationDeviceVersion": 0,
        "_reserved1": 1,
        "inputClusters": [
          0,
          6,
          3,
          4,
          5,
          57345,
          2820,
          1794
        ],
        "outputClusters": []
      }
    ],
    "endpoints": {
      "1": {
        "clusters": {
          "basic": {
            "attributes": "UNSUP_GENERAL_COMMAND",
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "onOff": {
            "attributes": "UNSUP_GENERAL_COMMAND",
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "identify": {
            "attributes": "UNSUP_GENERAL_COMMAND",
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "groups": {
            "attributes": "UNSUP_GENERAL_COMMAND",
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "scenes": {
            "attributes": "UNSUP_GENERAL_COMMAND",
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "electricalMeasurement": {
            "attributes": "UNSUP_GENERAL_COMMAND",
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          },
          "metering": {
            "attributes": "UNSUP_GENERAL_COMMAND",
            "commandsGenerated": "UNSUP_GENERAL_COMMAND",
            "commandsReceived": "UNSUP_GENERAL_COMMAND"
          }
        },
        "bindings": {}
      }
    }
  }
1 Like

Hi all,
I have some quiestions.
I have a Tuya Radiator Thermostat, and i tried to make my own driver. I startet step by step, and i just want to show the temperature… (Nothing more for now - then i will continue)

I made driver.compose.json:

{
  "id": "Thermostat",
  "name": {
    "en": "Radiator Actuator"
  },
  "class": "Thermostat",
  "platforms": ["local"],
  "connectivity": ["zigbee"],
  "capabilities": [
    "measure_temperature"
  ],
  "energy": {
    "batteries": [
      "AAA", "AAA"
    ]
  },
  "images": {
    "large": "{{driverAssetsPath}}/images/large.png",
    "small": "{{driverAssetsPath}}/images/small.png"
  },
  "zigbee": {
    "manufacturerName": [
      "_TZE200_2atgpdho"
    ],
    "productId": [
      "TS0601"
    ],
    "endpoints": {
      "1": {
        "clusters": [
          0,
          4,
          4,
          61184
        ],
        "bindings": [
         25,
		 10
        ]
      }
    },
    "learnmode": {
      "instruction": {
        "en": "Press the home button, then hold it for 5 seconds. Jump to the number 5 and press. Then hold again until the wifi icon is blinking."
      }
    }
  }
}

Then i made the device.js

'use strict';

const Homey = require('homey');
const { ZigBeeDevice } = require('homey-zigbeedriver');
const { CLUSTER } = require('zigbee-clusters');

class ThermostatDevice extends ZigBeeDevice {
	
	async onNodeInit({zclNode}) {

		this.printNode();

				// measure_temperature
		// zclNode.endpoints[1].clusters[CLUSTER.TEMPERATURE_MEASUREMENT.NAME]
		// .on('attr.measuredValue', this.onTemperatureMeasuredAttributeReport.bind(this));
		
		// measure_temperature
		zclNode.endpoints[1].clusters[CLUSTER.THERMOSTAT.NAME]
		.on('attr.localTemperature', this.onTemperatureMeasuredAttributeReport.bind(this));
  
	}

	onTemperatureMeasuredAttributeReport(localTemperature) {
		const temperatureOffset = this.getSetting('temperature_offset') || 0;
		const parsedValue = this.getSetting('temperature_decimals') === '2' ? Math.round((localTemperature / 100) * 100) / 100 : Math.round((localTemperature / 100) * 10) / 10;
		this.log('measure_temperature | temperatureMeasurement - localTemperature (temperature):', parsedValue, '+ temperature offset', temperatureOffset);
		this.setCapabilityValue('measure_temperature', parsedValue + temperatureOffset).catch(this.error);
	}

	onDeleted(){
	this.log("Thermostat removed")
	}

}

module.exports = ThermostatDevice;

Finaly, i used the Zigbee-cluster from your library - thermosat.js. I compared it with Zigbee Cluster Library Specification and i think it is corect.

When i was interviewing my device i received the numbers i wrote, but there is not the information about this specific cluster:

  static get ID() {
    return 513;
  }

Is somebodey able to help me with this problem? :slight_smile: Where/or How to get this specific number.
I found also the specific informations about this acurator, but without the numbers…

Finally, i am sure, they arenot the clusters we need…

image

I don’t know what’s going on, but my outlet started shutting itself off. No automation is to blame and the settings are set to always-on
(_TZ3000_typdpbpg / TS011F)
Does anyone have any experience with this?

1 Like

i have it to.

Might be a device issue: