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

Plug Compatibility Question - #28

Closed
walmer-bolfet opened this issue Dec 15, 2019 · 13 comments
Closed

Plug Compatibility Question - #28

walmer-bolfet opened this issue Dec 15, 2019 · 13 comments

Comments

@walmer-bolfet
Copy link

Greetings,

When I run ‘node node_modules/njstuya’ the returned devices are only my two Smart Power Strips. I also have four WiFi Smart Plugs WiFi Smart plugs with Energy Monitoring from Amazon:

https://www.amazon.com/gp/product/B07SGP1BCY/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1

They work great with the Smart Life app and with IFTTT but they don’t appear as devices with the command above. They showed up as “ThinkTurn_#### on my router. And Smart Life shows them as running Firmware 1.4.1 (with no update available) whereas the Power Strips show firmware 1.0.4 (with no update available).

Any recommendations or help would be appreciated.

@unparagoned
Copy link
Owner

Can you try with the latest version

@walmer-bolfet
Copy link
Author

walmer-bolfet commented Dec 8, 2020 via email

@walmer-bolfet
Copy link
Author

walmer-bolfet commented Dec 9, 2020 via email

@unparagoned
Copy link
Owner

Can you make sure the app on the phone has been closed for a few hours and then run it in debug mode

DEBUG=* node njstuya.js -ip 10.0.1.80 -id ebb3728730aad57411us9i -key 45ba5d9ceaecc76f ON
DEBUG=* node njstuya.js -ip 10.0.1.80 -id ebb3728730aad57411us9i -key 45ba5d9ceaecc76f

@walmer-bolfet
Copy link
Author

walmer-bolfet commented Dec 10, 2020 via email

@unparagoned
Copy link
Owner

unparagoned commented Dec 11, 2020

I've updated njstuya to use the latest version of tuyapi, which may help. Also make sure you have all apps and other cloud connections like alexa disabled for an hour or so and try local mode again.

But I think there may be some issues with the newer devices and local mode. I personally just use cloud mode for my newer devices.

Edit: You might need to specify version 3.3, see below.

@unparagoned
Copy link
Owner

Actually, try

DEBUG=* node njstuya.js -ip 10.0.1.80 -id ebb3728730aad57411us9i -key 45ba5d9ceaecc76f -v 3.3
DEBUG=* node njstuya.js

@walmer-bolfet
Copy link
Author

Greetings,

I have 2 smart bars (10.0.1.66 & .67) that work well with njstuya and 2 of two smart plugs that don’t seem to work (10.0.1.80 & .81)

I have run the commands you provided and the return output is below. Thanks again, I don’t really have much use for these smart plugs, and I could send you one if you think it might be helpful to your purposes. Let me know.

DEBUG= node njstuya.js -ip 10.0.1.80 -id ebb3728730aad57411us9i -key 45ba5d9ceaecc76f -v 3.3*
RETURNED:

njstuya booting njstuya +0ms
njstuya "{argName} value is: 10.0.1.80 +2ms
njstuya "{argName} value is: ebb3728730aad57411us9i +0ms
njstuya "{argName} value is: 45ba5d9ceaecc76f +0ms
njstuya "{argName} value is: 3.3 +0ms
njstuya api {} or undefined +1ms
TuyAPI Connecting to 10.0.1.80... +0ms
TuyAPI Socket connected. +46ms
njstuya Connected to device! +48ms
TuyAPI GET Payload: +1ms
TuyAPI { gwId: 'ebb3728730aad57411us9i',
TuyAPI devId: 'ebb3728730aad57411us9i',
TuyAPI t: '1607783590',
TuyAPI dps: {},
TuyAPI uid: 'ebb3728730aad57411us9i' } +0ms
TuyAPI Received data: 000055aa000000010000000a0000002c0000000141059323d9bd1a6835fb96cc45f3b4aab11093b1c46bf8e9e3af55d17093ab98d7c7b90f0000aa55 +9ms
TuyAPI Parsed: +1ms
TuyAPI { payload: 'json obj data unvalid',
TuyAPI leftover: false,
TuyAPI commandByte: 10,
TuyAPI sequenceN: 1 } +0ms
njstuya runCommand has started with data "json obj data unvalid" +12ms
TuyAPI SET Payload: +2ms
TuyAPI { devId: 'ebb3728730aad57411us9i',
TuyAPI gwId: 'ebb3728730aad57411us9i',
TuyAPI uid: '',
TuyAPI t: 1607783590,
TuyAPI dps: { '1': null } } +0ms
(node:3547) UnhandledPromiseRejectionWarning: TypeError: Cannot read property '1' of undefined
at TuyaDevice.runCommand (/home/walmer/switches-node/node_modules/njstuya/njstuya.js:334:33)
at TuyaDevice.emit (events.js:198:13)
at TuyaDevice._packetHandler (/home/walmer/switches-node/node_modules/tuyapi/index.js:492:10)
at packets.forEach.packet (/home/walmer/switches-node/node_modules/tuyapi/index.js:385:43)
at Array.forEach ()
at Socket.client.on.data (/home/walmer/switches-node/node_modules/tuyapi/index.js:381:19)
at Socket.emit (events.js:198:13)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
at Socket.Readable.push (_stream_readable.js:224:10)
(node:3547) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:3547) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
TuyAPI Received data: 000055aa00000000000000080000004b00000000332e330000000000000056000000016f32f3374a7cd3a8deb2e56740882c95e224b6ccdbed16b9250d22fd45a533b6663a2316ce89c584788a8c502ecdeb93a30288750000aa55 +19ms
TuyAPI Parsed: +1ms
TuyAPI { payload: { dps: { '1': true }, t: 1607783589 },
TuyAPI leftover: false,
TuyAPI commandByte: 8,
TuyAPI sequenceN: 0 } +0ms
TuyAPI Received data: 000055aa00000002000000070000000c0000000018cfc5da0000aa55 +43ms
TuyAPI Parsed: +1ms
TuyAPI { payload: false, leftover: false, commandByte: 7, sequenceN: 2 } +0ms
TuyAPI Got SET ack. +0ms
TuyAPI Disconnect +10s
njstuya undefined +10s
TuyAPI Socket closed: 10.0.1.80 +1ms
njstuya Disconnected from device. +1ms

DEBUG= node njstuya.js*
RETURNED:

njstuya booting njstuya +0ms
njstuya api {} or undefined +3ms
TuyAPI Finding missing IP or ID 00000000000000000000 +0ms
TuyAPI Received UDP message. +100ms
TuyAPI UDP data: +3ms
TuyAPI { payload:
TuyAPI { ip: '10.0.1.66',
TuyAPI gwId: '03200121dc4f22237eeb',
TuyAPI active: 2,
TuyAPI ability: 0,
TuyAPI mode: 0,
TuyAPI encrypt: true,
TuyAPI productKey: 'of0VDuFcWsBTfzWt',
TuyAPI version: '3.1' },
TuyAPI leftover: false,
TuyAPI commandByte: 0,
TuyAPI sequenceN: 0 } +0ms
TuyAPI Received UDP message. +1s
TuyAPI UDP data: +0ms
TuyAPI { payload:
TuyAPI { ip: '10.0.1.67',
TuyAPI gwId: '03200121dc4f22242ba7',
TuyAPI active: 2,
TuyAPI ability: 0,
TuyAPI mode: 0,
TuyAPI encrypt: true,
TuyAPI productKey: 'of0VDuFcWsBTfzWt',
TuyAPI version: '3.1' },
TuyAPI leftover: false,
TuyAPI commandByte: 0,
TuyAPI sequenceN: 0 } +0ms
TuyAPI Received UDP message. +1s
TuyAPI UDP data: +1ms
TuyAPI { payload:
TuyAPI { ip: '10.0.1.80',
TuyAPI gwId: 'ebb3728730aad57411us9i',
TuyAPI active: 2,
TuyAPI ablilty: 0,
TuyAPI encrypt: true,
TuyAPI productKey: 'bm37x1lrv6v7lfja',
TuyAPI version: '3.3' },
TuyAPI leftover: false,
TuyAPI commandByte: 19,
TuyAPI sequenceN: 0 } +0ms
TuyAPI Received UDP message. +648ms
TuyAPI UDP data: +1ms
TuyAPI { payload:
TuyAPI { ip: '10.0.1.66',
TuyAPI gwId: '03200121dc4f22237eeb',
TuyAPI active: 2,
TuyAPI ability: 0,
TuyAPI mode: 0,
TuyAPI encrypt: true,
TuyAPI productKey: 'of0VDuFcWsBTfzWt',
TuyAPI version: '3.1' },
TuyAPI leftover: false,
TuyAPI commandByte: 0,
TuyAPI sequenceN: 0 } +0ms
TuyAPI Received UDP message. +91ms
TuyAPI UDP data: +0ms
TuyAPI { payload:
TuyAPI { ip: '10.0.1.81',
TuyAPI gwId: 'ebb508bf95ccbedbabjxrb',
TuyAPI active: 2,
TuyAPI ablilty: 0,
TuyAPI encrypt: true,
TuyAPI productKey: 'bm37x1lrv6v7lfja',
TuyAPI version: '3.3' },
TuyAPI leftover: false,
TuyAPI commandByte: 19,
TuyAPI sequenceN: 0 } +0ms
TuyAPI Received UDP message. +1s
TuyAPI UDP data: +0ms
TuyAPI { payload:
TuyAPI { ip: '10.0.1.67',
TuyAPI gwId: '03200121dc4f22242ba7',
TuyAPI active: 2,
TuyAPI ability: 0,
TuyAPI mode: 0,
TuyAPI encrypt: true,
TuyAPI productKey: 'of0VDuFcWsBTfzWt',
TuyAPI version: '3.1' },
TuyAPI leftover: false,
TuyAPI commandByte: 0,
TuyAPI sequenceN: 0 } +0ms
TuyAPI Received UDP message. +2s
TuyAPI UDP data: +1ms
TuyAPI { payload:
TuyAPI { ip: '10.0.1.66',
TuyAPI gwId: '03200121dc4f22237eeb',
TuyAPI active: 2,
TuyAPI ability: 0,
TuyAPI mode: 0,
TuyAPI encrypt: true,
TuyAPI productKey: 'of0VDuFcWsBTfzWt',
TuyAPI version: '3.1' },
TuyAPI leftover: false,
TuyAPI commandByte: 0,
TuyAPI sequenceN: 0 } +0ms
TuyAPI Received UDP message. +1s
TuyAPI UDP data: +1ms
TuyAPI { payload:
TuyAPI { ip: '10.0.1.67',
TuyAPI gwId: '03200121dc4f22242ba7',
TuyAPI active: 2,
TuyAPI ability: 0,
TuyAPI mode: 0,
TuyAPI encrypt: true,
TuyAPI productKey: 'of0VDuFcWsBTfzWt',
TuyAPI version: '3.1' },
TuyAPI leftover: false,
TuyAPI commandByte: 0,
TuyAPI sequenceN: 0 } +0ms
TuyAPI Received UDP message. +28ms
TuyAPI UDP data: +0ms
TuyAPI { payload:
TuyAPI { ip: '10.0.1.80',
TuyAPI gwId: 'ebb3728730aad57411us9i',
TuyAPI active: 2,
TuyAPI ablilty: 0,
TuyAPI encrypt: true,
TuyAPI productKey: 'bm37x1lrv6v7lfja',
TuyAPI version: '3.3' },
TuyAPI leftover: false,
TuyAPI commandByte: 19,
TuyAPI sequenceN: 0 } +0ms
njstuya devices [{"id":"03200121dc4f22237eeb","ip":"10.0.1.66"},{"id":"03200121dc4f22242ba7","ip":"10.0.1.67"},{"id":"ebb3728730aad57411us9i","ip":"10.0.1.80"},{"id":"ebb508bf95ccbedbabjxrb","ip":"10.0.1.81"}] +8s
njstuya [ { id: '03200121dc4f22237eeb', ip: '10.0.1.66' },
njstuya { id: '03200121dc4f22242ba7', ip: '10.0.1.67' },
njstuya { id: 'ebb3728730aad57411us9i', ip: '10.0.1.80' },
njstuya { id: 'ebb508bf95ccbedbabjxrb', ip: '10.0.1.81' } ] +0ms
{ "devices": [
TuyAPI Connecting to 10.0.1.66... +565ms
TuyAPI Socket connected. +84ms
njstuya Connected to device! +87ms
TuyAPI GET Payload: +1ms
TuyAPI { gwId: '03200121dc4f22237eeb',
TuyAPI devId: '03200121dc4f22237eeb',
TuyAPI t: '1607783246',
TuyAPI dps: {},
TuyAPI uid: '03200121dc4f22237eeb' } +0ms
TuyAPI Received data: 000055aa000000010000000a00000067000000007b226465764964223a223033323030313231646334663232323337656562222c22647073223a7b2231223a747275652c2232223a747275652c2233223a747275652c2234223a747275652c2235223a747275652c2236223a307d7d05c477ed0000aa55 +7ms
TuyAPI Parsed: +1ms
TuyAPI { payload:
TuyAPI { devId: '03200121dc4f22237eeb',
TuyAPI dps:
TuyAPI { '1': true, '2': true, '3': true, '4': true, '5': true, '6': 0 } },
TuyAPI leftover: false,
TuyAPI commandByte: 10,
TuyAPI sequenceN: 1 } +0ms
njstuya 03200121dc4f22237eeb: {"devId":"03200121dc4f22237eeb","dps":{"1":true,"2":true,"3":true,"4":true,"5":true,"6":0}} +10ms
TuyAPI Disconnect +1ms
{"id":"03200121dc4f22237eeb","broadcast":{"ip":"10.0.1.66","port":6668,"id":"03200121dc4f22237eeb","gwID":"03200121dc4f22237eeb","version":""},"schema":{"devId":"03200121dc4f22237eeb","dps":{"1":true,"2":true,"3":true,"4":true,"5":true,"6":0}}}
njstuya devId: "03200121dc4f22237eeb" +1ms
njstuya dps: {"1":true,"2":true,"3":true,"4":true,"5":true,"6":0} +0ms
TuyAPI Connecting to 10.0.1.67... +1ms
TuyAPI Socket closed: 10.0.1.66 +1ms
njstuya Disconnected from device. +1ms
TuyAPI Socket connected. +2ms
njstuya Connected to device! +2ms
TuyAPI GET Payload: +0ms
TuyAPI { gwId: '03200121dc4f22242ba7',
TuyAPI devId: '03200121dc4f22242ba7',
TuyAPI t: '1607783246',
TuyAPI dps: {},
TuyAPI uid: '03200121dc4f22242ba7' } +0ms
TuyAPI Received data: 000055aa000000010000000a00000068000000007b226465764964223a223033323030313231646334663232323432626137222c22647073223a7b2231223a66616c73652c2232223a747275652c2233223a747275652c2234223a747275652c2235223a747275652c2236223a307d7dd72931750000aa55 +5ms
TuyAPI Parsed: +1ms
TuyAPI { payload:
TuyAPI { devId: '03200121dc4f22242ba7',
TuyAPI dps:
TuyAPI { '1': false, '2': true, '3': true, '4': true, '5': true, '6': 0 } },
TuyAPI leftover: false,
TuyAPI commandByte: 10,
TuyAPI sequenceN: 1 } +1ms
njstuya 03200121dc4f22242ba7: {"devId":"03200121dc4f22242ba7","dps":{"1":false,"2":true,"3":true,"4":true,"5":true,"6":0}} +7ms
TuyAPI Disconnect +0ms
{"id":"03200121dc4f22242ba7","broadcast":{"ip":"10.0.1.67","port":6668,"id":"03200121dc4f22242ba7","gwID":"03200121dc4f22242ba7","version":""},"schema":{"devId":"03200121dc4f22242ba7","dps":{"1":false,"2":true,"3":true,"4":true,"5":true,"6":0}}}
njstuya devId: "03200121dc4f22242ba7" +0ms
njstuya dps: {"1":false,"2":true,"3":true,"4":true,"5":true,"6":0} +0ms
TuyAPI Connecting to 10.0.1.80... +1ms
TuyAPI Socket closed: 10.0.1.67 +0ms
njstuya Disconnected from device. +1ms
TuyAPI Socket connected. +2ms
njstuya Connected to device! +2ms
TuyAPI GET Payload: +0ms
TuyAPI { gwId: 'ebb3728730aad57411us9i',
TuyAPI devId: 'ebb3728730aad57411us9i',
TuyAPI t: '1607783246',
TuyAPI dps: {},
TuyAPI uid: 'ebb3728730aad57411us9i' } +0ms
TuyAPI Received data: 000055aa000000010000000a0000002c00000001c071ca2a501b21345fabb2adbea874c677930826278bab918fcbb7fd3ffbe9c018dfa88a0000aa55 +17ms
TuyAPI Parsed: +0ms
TuyAPI { payload: '�q�P\u001b!4_�����t�w�\b&'����˷�?���',
TuyAPI leftover: false,
TuyAPI commandByte: 10,
TuyAPI sequenceN: 1 } +0ms
njstuya ebb3728730aad57411us9i: "�q�
P\u001b!4_�����t�w�\b&'����˷�?���" +18ms
TuyAPI Disconnect +1ms
{"id":"ebb3728730aad57411us9i","broadcast":{"ip":"10.0.1.80","port":6668,"id":"ebb3728730aad57411us9i","gwID":"ebb3728730aad57411us9i","version":""},"schema":"�q�P\u001b!4_�����t�w�\b&'����˷�?���"}
njstuya 0: "�" +0ms
njstuya 1: "q" +0ms
njstuya 2: "�" +0ms
njstuya 3: "
" +0ms
njstuya 4: "P" +0ms
njstuya 5: "\u001b" +0ms
njstuya 6: "!" +0ms
njstuya 7: "4" +0ms
njstuya 8: "_" +0ms
njstuya 9: "�" +0ms
njstuya 10: "�" +0ms
njstuya 11: "�" +0ms
njstuya 12: "�" +0ms
njstuya 13: "�" +0ms
njstuya 14: "t" +0ms
njstuya 15: "�" +0ms
njstuya 16: "w" +0ms
njstuya 17: "�" +0ms
njstuya 18: "\b" +0ms
njstuya 19: "&" +0ms
njstuya 20: "'" +0ms
njstuya 21: "�" +0ms
njstuya 22: "�" +1ms
njstuya 23: "�" +0ms
njstuya 24: "�" +0ms
njstuya 25: "˷" +0ms
njstuya 26: "�" +0ms
njstuya 27: "?" +0ms
njstuya 28: "�" +0ms
njstuya 29: "�" +0ms
njstuya 30: "�" +0ms
TuyAPI Connecting to 10.0.1.81... +1ms
TuyAPI Socket closed: 10.0.1.80 +0ms
njstuya Disconnected from device. +0ms
TuyAPI Socket connected. +3ms
njstuya Connected to device! +3ms
TuyAPI GET Payload: +0ms
TuyAPI { gwId: 'ebb508bf95ccbedbabjxrb',
TuyAPI devId: 'ebb508bf95ccbedbabjxrb',
TuyAPI t: '1607783246',
TuyAPI dps: {},
TuyAPI uid: 'ebb508bf95ccbedbabjxrb' } +0ms
TuyAPI Received data: 000055aa000000010000000a0000002c0000000158b256afb23e71015bde4aef08862e11257249f9086e00b70b8d0af1683ab8ec4e9cc4690000aa55 +18ms
TuyAPI Parsed: +1ms
TuyAPI { payload: 'X�V��>q\u0001[�J�\b�.\u0011%rI�\bn\u0000�\u000b�\n�h:��',
TuyAPI leftover: false,
TuyAPI commandByte: 10,
TuyAPI sequenceN: 1 } +0ms
njstuya ebb508bf95ccbedbabjxrb: "X�V��>q\u0001[�J�\b�.\u0011%rI�\bn\u0000�\u000b�\n�h:��" +19ms
TuyAPI Disconnect +1ms
{"id":"ebb508bf95ccbedbabjxrb","broadcast":{"ip":"10.0.1.81","port":6668,"id":"ebb508bf95ccbedbabjxrb","gwID":"ebb508bf95ccbedbabjxrb","version":""},"schema":"X�V��>q\u0001[�J�\b�.\u0011%rI�\bn\u0000�\u000b�\n�h:��"}
njstuya 0: "X" +1ms
njstuya 1: "�" +0ms
njstuya 2: "V" +0ms
njstuya 3: "�" +0ms
njstuya 4: "�" +0ms
njstuya 5: ">" +1ms
njstuya 6: "q" +0ms
njstuya 7: "\u0001" +0ms
njstuya 8: "[" +0ms
njstuya 9: "�" +0ms
njstuya 10: "J" +0ms
njstuya 11: "�" +0ms
njstuya 12: "\b" +0ms
njstuya 13: "�" +0ms
njstuya 14: "." +0ms
njstuya 15: "\u0011" +0ms
njstuya 16: "%" +0ms
njstuya 17: "r" +1ms
njstuya 18: "I" +0ms
njstuya 19: "�" +0ms
njstuya 20: "\b" +0ms
njstuya 21: "n" +0ms
njstuya 22: "\u0000" +0ms
njstuya 23: "�" +0ms
njstuya 24: "\u000b" +0ms
njstuya 25: "�" +0ms
njstuya 26: "\n" +0ms
njstuya 27: "�" +0ms
njstuya 28: "h" +0ms
njstuya 29: ":" +0ms
njstuya 30: "�" +1ms
njstuya 31: "�" +0ms
] }
njstuya Updated Devices [{"id":"03200121dc4f22237eeb","ip":"10.0.1.66"},{"id":"03200121dc4f22242ba7","ip":"10.0.1.67"},{"id":"ebb3728730aad57411us9i","ip":"10.0.1.80"},{"id":"ebb508bf95ccbedbabjxrb","ip":"10.0.1.81"}] +0ms
njstuya All devices [{"id":"03200121dc4f22237eeb","broadcast":{"ip":"10.0.1.66","port":6668,"id":"03200121dc4f22237eeb","gwID":"03200121dc4f22237eeb","version":""},"schema":{"devId":"03200121dc4f22237eeb","dps":{"1":true,"2":true,"3":true,"4":true,"5":true,"6":0}}},{"id":"03200121dc4f22242ba7","broadcast":{"ip":"10.0.1.67","port":6668,"id":"03200121dc4f22242ba7","gwID":"03200121dc4f22242ba7","version":""},"schema":{"devId":"03200121dc4f22242ba7","dps":{"1":false,"2":true,"3":true,"4":true,"5":true,"6":0}}},{"id":"ebb3728730aad57411us9i","broadcast":{"ip":"10.0.1.80","port":6668,"id":"ebb3728730aad57411us9i","gwID":"ebb3728730aad57411us9i","version":""},"schema":"�q�*P\u001b!4_�����t�w�\b&'����˷�?���"},{"id":"ebb508bf95ccbedbabjxrb","broadcast":{"ip":"10.0.1.81","port":6668,"id":"ebb508bf95ccbedbabjxrb","gwID":"ebb508bf95ccbedbabjxrb","version":""},"schema":"X�V��>q\u0001[�J�\b�.\u0011%rI�\bn\u0000�\u000b�\n�h:��"}] +1ms
TuyAPI Socket closed: 10.0.1.81 +4ms
njstuya Disconnected from device. +0ms
TuyAPI Disconnect +2s
njstuya Timeout +5s
TuyAPI Disconnect +3s
njstuya Timeout +94ms
TuyAPI Disconnect +95ms
njstuya Timeout +11ms
TuyAPI Disconnect +10ms
njstuya Timeout +20ms
TuyAPI Disconnect +20ms

@unparagoned
Copy link
Owner

It seems like -v 3.3 kind of works, see if you can turn it on or off. njsTuya may just need to work on dealing with the responses better.

DEBUG=* node njstuya.js -ip 10.0.1.80 -id ebb3728730aad57411us9i -key 45ba5d9ceaecc76f -v 3.3 ON

@walmer-bolfet
Copy link
Author

Command had no affect on the plugs setting -

DEBUG=* node njstuya.js -ip 10.0.1.80 -id ebb3728730aad57411us9i -key 45ba5d9ceaecc76f -v 3.3 ON
RETURNS:

njstuya booting njstuya +0ms
njstuya "{argName} value is: 10.0.1.80 +2ms
njstuya "{argName} value is: ebb3728730aad57411us9i +0ms
njstuya "{argName} value is: 45ba5d9ceaecc76f +0ms
njstuya "{argName} value is: 3.3 +0ms
njstuya api {} or undefined +1ms
TuyAPI Connecting to 10.0.1.80... +0ms
TuyAPI Socket connected. +151ms
njstuya Connected to device! +154ms
TuyAPI GET Payload: +1ms
TuyAPI { gwId: 'ebb3728730aad57411us9i',
TuyAPI devId: 'ebb3728730aad57411us9i',
TuyAPI t: '1607786281',
TuyAPI dps: {},
TuyAPI uid: 'ebb3728730aad57411us9i' } +0ms
TuyAPI Received data: 000055aa000000010000000a0000002c0000000141059323d9bd1a6835fb96cc45f3b4aab11093b1c46bf8e9e3af55d17093ab98d7c7b90f0000aa55 +13ms
TuyAPI Parsed: +1ms
TuyAPI { payload: 'json obj data unvalid',
TuyAPI leftover: false,
TuyAPI commandByte: 10,
TuyAPI sequenceN: 1 } +0ms
njstuya runCommand has started with data "json obj data unvalid" +15ms
TuyAPI SET Payload: +1ms
TuyAPI { devId: 'ebb3728730aad57411us9i',
TuyAPI gwId: 'ebb3728730aad57411us9i',
TuyAPI uid: '',
TuyAPI t: 1607786281,
TuyAPI dps: { '1': null } } +0ms
(node:6354) UnhandledPromiseRejectionWarning: TypeError: Cannot read property '1' of undefined
at TuyaDevice.runCommand (/home/walmer/switches-node/node_modules/njstuya/njstuya.js:334:33)
at TuyaDevice.emit (events.js:198:13)
at TuyaDevice._packetHandler (/home/walmer/switches-node/node_modules/tuyapi/index.js:492:10)
at packets.forEach.packet (/home/walmer/switches-node/node_modules/tuyapi/index.js:385:43)
at Array.forEach ()
at Socket.client.on.data (/home/walmer/switches-node/node_modules/tuyapi/index.js:381:19)
at Socket.emit (events.js:198:13)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
at Socket.Readable.push (_stream_readable.js:224:10)
(node:6354) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:6354) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
TuyAPI Received data: 000055aa00000000000000080000004b00000000332e33000000000000005f000000016f32f3374a7cd3a8deb2e56740882c95152db001682884bbf5ac90f58b346260663a2316ce89c584788a8c502ecdeb93014aa3810000aa55 +9ms
TuyAPI Parsed: +0ms
TuyAPI { payload: { dps: { '1': true }, t: 1607786280 },
TuyAPI leftover: false,
TuyAPI commandByte: 8,
TuyAPI sequenceN: 0 } +0ms
TuyAPI Received data: 000055aa00000002000000070000000c0000000018cfc5da0000aa55 +45ms
TuyAPI Parsed: +0ms
TuyAPI { payload: false, leftover: false, commandByte: 7, sequenceN: 2 } +0ms
TuyAPI Got SET ack. +1ms
TuyAPI Disconnect +10s
njstuya undefined +10s
TuyAPI Socket closed: 10.0.1.80 +1ms
njstuya Disconnected from device. +0ms

@unparagoned
Copy link
Owner

It might be useful to see the content of
DEBUG=* node njstuya.js -ip 10.0.1.80 -id ebb3728730aad57411us9i -key 45ba5d9ceaecc76f -v 3.3 OFF

You could also try turning it on using a different dps, try dps 2-6.

 DEBUG=* node njstuya.js -ip 10.0.1.80 -id ebb3728730aad57411us9i -key 45ba5d9ceaecc76f -v 3.3  -set '{ "dps": 2, "set": true }'

Alternatively, give https://github.com/TuyaAPI/cli a try, if you can get it working there then there might be something I can do.

@walmer-bolfet
Copy link
Author

Greetings from Alabama.

Let me thank you for addressing this issue I found in these particular plugs. I also want to assure you that I have no expectation there is anything more you might need do for me. I will be pleased to try the suggestions you forward and will share the results —but only to return the benefit (it is small compared to the benefit I have enjoyed using your work).

I do not expect to deploy any fix you may devise. I am resolved to move away from this plug technology toward something more suited to an old man in Alabama; meaning it will be a while before I muster the time and attention to try the tuyaAPI-CLI alternative.

DEBUG=* node njstuya.js -ip 10.0.1.80 -id ebb3728730aad57411us9i -key 45ba5d9ceaecc76f -v 3.3 OFF
RETURNED:

njstuya booting njstuya +0ms
njstuya "{argName} value is: 10.0.1.80 +2ms
njstuya "{argName} value is: ebb3728730aad57411us9i +0ms
njstuya "{argName} value is: 45ba5d9ceaecc76f +0ms
njstuya "{argName} value is: 3.3 +0ms
njstuya api {} or undefined +1ms
TuyAPI Connecting to 10.0.1.80... +0ms
TuyAPI Socket connected. +223ms
njstuya Connected to device! +226ms
TuyAPI GET Payload: +2ms
TuyAPI { gwId: 'ebb3728730aad57411us9i',
TuyAPI devId: 'ebb3728730aad57411us9i',
TuyAPI t: '1607978789',
TuyAPI dps: {},
TuyAPI uid: 'ebb3728730aad57411us9i' } +0ms
TuyAPI Received data: 000055aa000000010000000a0000002c0000000141059323d9bd1a6835fb96cc45f3b4aab11093b1c46bf8e9e3af55d17093ab98d7c7b90f0000aa55 +14ms
TuyAPI Parsed: +1ms
TuyAPI { payload: 'json obj data unvalid',
TuyAPI leftover: false,
TuyAPI commandByte: 10,
TuyAPI sequenceN: 1 } +0ms
njstuya runCommand has started with data "json obj data unvalid" +17ms
TuyAPI SET Payload: +2ms
TuyAPI { devId: 'ebb3728730aad57411us9i',
TuyAPI gwId: 'ebb3728730aad57411us9i',
TuyAPI uid: '',
TuyAPI t: 1607978788,
TuyAPI dps: { '1': null } } +0ms
(node:18932) UnhandledPromiseRejectionWarning: TypeError: Cannot read property '1' of undefined
at TuyaDevice.runCommand (/home/walmer/switches-node/node_modules/njstuya/njstuya.js:334:33)
at TuyaDevice.emit (events.js:198:13)
at TuyaDevice._packetHandler (/home/walmer/switches-node/node_modules/tuyapi/index.js:492:10)
at packets.forEach.packet (/home/walmer/switches-node/node_modules/tuyapi/index.js:385:43)
at Array.forEach ()
at Socket.client.on.data (/home/walmer/switches-node/node_modules/tuyapi/index.js:381:19)
at Socket.emit (events.js:198:13)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
at Socket.Readable.push (_stream_readable.js:224:10)
(node:18932) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:18932) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
TuyAPI Received data: 000055aa00000000000000080000004b00000000332e330000000000000088000000018dbc6821150666186cfbc2a58ab9f0a1e82bf2ca7a9456fe9660c9697e7ed3c4a806a38c3dac7ed3cf90478e24c518fb304c07310000aa55 +30ms
TuyAPI Parsed: +1ms
TuyAPI { payload: { dps: { '1': false }, t: 1607978788 },
TuyAPI leftover: false,
TuyAPI commandByte: 8,
TuyAPI sequenceN: 0 } +0ms
TuyAPI Received data: 000055aa00000002000000070000000c0000000018cfc5da0000aa55 +60ms
TuyAPI Parsed: +0ms
TuyAPI { payload: false, leftover: false, commandByte: 7, sequenceN: 2 } +0ms
TuyAPI Got SET ack. +0ms
TuyAPI Disconnect +10s
njstuya undefined +10s
TuyAPI Socket closed: 10.0.1.80 +2ms
njstuya Disconnected from device. +1ms

DEBUG=* node njstuya.js -ip 10.0.1.80 -id ebb3728730aad57411us9i -key 45ba5d9ceaecc76f -v 3.3 -set '{ "dps": 2, "set": true }'
RETURNED:

njstuya booting njstuya +0ms
njstuya "{argName} value is: 10.0.1.80 +2ms
njstuya "{argName} value is: ebb3728730aad57411us9i +0ms
njstuya "{argName} value is: 45ba5d9ceaecc76f +0ms
njstuya "{argName} value is: 3.3 +0ms
njstuya "{argName} value is: { "dps": 2, "set": true } +0ms
njstuya api {} or undefined +1ms
TuyAPI Connecting to 10.0.1.80... +0ms
TuyAPI Socket connected. +29ms
njstuya Connected to device! +32ms
TuyAPI GET Payload: +1ms
TuyAPI { gwId: 'ebb3728730aad57411us9i',
TuyAPI devId: 'ebb3728730aad57411us9i',
TuyAPI t: '1607978962',
TuyAPI dps: {},
TuyAPI uid: 'ebb3728730aad57411us9i' } +0ms
TuyAPI Received data: 000055aa000000010000000a0000002c0000000141059323d9bd1a6835fb96cc45f3b4aab11093b1c46bf8e9e3af55d17093ab98d7c7b90f0000aa55 +10ms
TuyAPI Parsed: +1ms
TuyAPI { payload: 'json obj data unvalid',
TuyAPI leftover: false,
TuyAPI commandByte: 10,
TuyAPI sequenceN: 1 } +0ms
njstuya runCommand has started with data "json obj data unvalid" +11ms
TuyAPI SET Payload: +1ms
TuyAPI { devId: 'ebb3728730aad57411us9i',
TuyAPI gwId: 'ebb3728730aad57411us9i',
TuyAPI uid: '',
TuyAPI t: 1607978962,
TuyAPI dps: { '1': null } } +0ms
(node:19067) UnhandledPromiseRejectionWarning: TypeError: Cannot read property '1' of undefined
at TuyaDevice.runCommand (/home/walmer/switches-node/node_modules/njstuya/njstuya.js:334:33)
at TuyaDevice.emit (events.js:198:13)
at TuyaDevice._packetHandler (/home/walmer/switches-node/node_modules/tuyapi/index.js:492:10)
at packets.forEach.packet (/home/walmer/switches-node/node_modules/tuyapi/index.js:385:43)
at Array.forEach ()
at Socket.client.on.data (/home/walmer/switches-node/node_modules/tuyapi/index.js:381:19)
at Socket.emit (events.js:198:13)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
at Socket.Readable.push (_stream_readable.js:224:10)
(node:19067) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:19067) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
TuyAPI Received data: 000055aa00000000000000080000004b00000000332e33000000000000008c000000016f32f3374a7cd3a8deb2e56740882c95107620866d87445b983e2cc79860d217663a2316ce89c584788a8c502ecdeb933e357aa90000aa55 +9ms
TuyAPI Parsed: +0ms
TuyAPI { payload: { dps: { '1': true }, t: 1607978962 },
TuyAPI leftover: false,
TuyAPI commandByte: 8,
TuyAPI sequenceN: 0 } +0ms
TuyAPI Received data: 000055aa00000002000000070000000c0000000018cfc5da0000aa55 +42ms
TuyAPI Parsed: +0ms
TuyAPI { payload: false, leftover: false, commandByte: 7, sequenceN: 2 } +0ms
TuyAPI Got SET ack. +0ms
TuyAPI Disconnect +10s
njstuya undefined +10s
TuyAPI Socket closed: 10.0.1.80 +1ms
njstuya Disconnected from device. +1ms

@unparagoned
Copy link
Owner

Sorry, it's a bit too difficult to debug it like this. I'd suggest giving cloud mode a try.

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

No branches or pull requests

2 participants