Support protocol version 3.4
See original GitHub issueDescribe the bug I tried the example script from the read me. Tuyapi is able to find the device and to connect, but directly disconnects afterwards. It’s not possible to keep the connection and listen to data.
Also tried it in Node-Red with package node-red-contrib-tuya-smart-device which uses latest tuyapi. Same error, it constantly reconnects. But at least it receives some data events which results in error logs with messages like Error: CRC mismatch: expected -674619356, was -22843090
Maybe the problem is the protocol version 3.4? Didn’t find any information if tuyapi supports 3.4.
debug output:
node test.js
TuyAPI Finding missing IP undefined or ID bf97ae127518bd821b1mdo +0ms
TuyAPI Received UDP message. +4s
TuyAPI UDP data: +1ms
TuyAPI {
TuyAPI payload: {
TuyAPI ip: '192.168.0.42',
TuyAPI gwId: 'bf97ae127518bd821b1mdo',
TuyAPI active: 2,
TuyAPI ablilty: 0,
TuyAPI encrypt: true,
TuyAPI productKey: 'keyyj3fy8x98arty',
TuyAPI version: '3.4',
TuyAPI token: true
TuyAPI },
TuyAPI leftover: false,
TuyAPI commandByte: 35,
TuyAPI sequenceN: 0
TuyAPI } +1ms
TuyAPI Connecting to 192.168.0.42... +5ms
TuyAPI Socket connected. +7ms
Connected to device!
TuyAPI GET Payload: +2ms
TuyAPI {
TuyAPI gwId: 'bf97ae127518bd821b1mdo',
TuyAPI devId: 'bf97ae127518bd821b1mdo',
TuyAPI t: '1623446698',
TuyAPI dpId: [ 18, 19, 20 ],
TuyAPI uid: 'bf97ae127518bd821b1mdo'
TuyAPI } +0ms
TuyAPI GET Payload: +3ms
TuyAPI {
TuyAPI gwId: 'bf97ae127518bd821b1mdo',
TuyAPI devId: 'bf97ae127518bd821b1mdo',
TuyAPI t: '1623446698',
TuyAPI dps: {},
TuyAPI uid: 'bf97ae127518bd821b1mdo'
TuyAPI } +0ms
TuyAPI Socket closed: 192.168.0.42 +13ms
TuyAPI Disconnect +1ms
Disconnected from device.
Issue Analytics
- State:
- Created 2 years ago
- Comments:22 (11 by maintainers)
Top Results From Across the Web
CQLSH ProtocolError - cassandra - Stack Overflow
The protocol version you are connecting is not supported by the version of your cassandra's protocol. Try adding --cqlversion="3.4.2" as ...
Read more >Native protocol - DataStax Java Driver
Native protocol. The native protocol defines the format of the binary messages exchanged between the driver and Cassandra over TCP. As a driver...
Read more >Connect to Apache Cassandra Using Cqlsh - Instaclustr
Troubleshooting. If you encounter a cql version error like: “cql_version '3.3.1' is not supported by remote (w/ native protocol).
Read more >cqlsh: the CQL shell | Apache Cassandra Documentation
Prints the cqlsh , Cassandra, CQL, and native protocol versions in use. Example: cqlsh> SHOW VERSION [cqlsh 5.0.1 | Cassandra 3.8 | CQL...
Read more >Invalid or unsupported protocol version (0); supported ...
Many queries failing with message "ProtocolErrorException · Invalid or ... We hadn't updated the driver (version 3.4.1) or the code that performed the ......
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Hello I made some changes for support 3.4 version and pushed code in my repository @github. If someone interested and have time can review and clean code and make PR here. Tested about 2 month with tuya-mqtt(patched to support zigbee gateways). Tested devices: sensors, switches, dimmers, valves.
regards, Zahari
If someone interested I will send linux binary (tyZ3Gw: ELF 32-bit MSB executable, MIPS, MIPS-I version 1 (SYSV), dynamically linked, interpreter /lib/ld-uClibc.so.0). Seems the protocol for crypt/decrypt messages are the same AES/ECB/NoPadding. May be localKey is modified to be used for crypt/decrypt. There are also token send in registration process encrypted with md5(constant) - like broadcast message.
regards, Zahari