@unparagoned, I had to reinstall my openhab2 which meant reinstalling you scripts
Something strange is happening:
When I install it and run the command with out parameters your directions say the following should happen:
If no the ip and id are missing then the script will scan the network and return the state schema(state) of all devices.
BTW, i clone your repository before doing the npm install command. So my version of njstuya.js is in the directory c:/openhab2/userdata/etc/scripts/njsTuya
here is the out put I get:
c:\openHAB2\userdata\etc\scripts\njsTuya>node ./njstuya.js
njstuya booting njstuya +0ms
njstuya api {} or undefined +6ms
TuyAPI Finding missing IP or ID +0ms
TuyAPI Received UDP message. +53ms
TuyAPI Error: Magic prefix mismatch: 020900ffff011200ea000402e803010006ffa906436c61697279080e03
TuyAPI at MessageParser._parse (c:\openHAB2\userdata\etc\scripts\njsTuya\node_modules\tuyapi\lib\message-parser.js:47:13)
TuyAPI at Object.parse (c:\openHAB2\userdata\etc\scripts\njsTuya\node_modules\tuyapi\lib\message-parser.js:176:5)
TuyAPI at Socket.listener.on.message (c:\openHAB2\userdata\etc\scripts\njsTuya\node_modules\tuyapi\index.js:594:28)
TuyAPI at Socket.emit (events.js:189:13)
TuyAPI at UDP.onMessage [as onmessage] (dgram.js:628:8) +1ms
TuyAPI UDP data: +1ms
c:\openHAB2\userdata\etc\scripts\njsTuya\node_modules\tuyapi\index.js:601
debug(dataRes.data);
^
TypeError: Cannot read property 'data' of undefined
at Socket.listener.on.message (c:\openHAB2\userdata\etc\scripts\njsTuya\node_modules\tuyapi\index.js:601:23)
at Socket.emit (events.js:189:13)
at UDP.onMessage [as onmessage] (dgram.js:628:8)
So I decided to give it a IP and ID to see what happens and the code works like it should, here is that output:
c:\openHAB2\userdata\etc\scripts\njsTuya>node ./njstuya.js -ip 192.168.0.30 -id 5846055184f3eb20bfaf -key afb9b013346054e6 -get "{ \"schema\": true }"
njstuya booting njstuya +0ms
njstuya "{argName} value is: 192.168.0.30 +2ms
njstuya "{argName} value is: 5846055184f3eb20bfaf +1ms
njstuya "{argName} value is: afb9b013346054e6 +0ms
njstuya "{argName} value is: { "schema": true } +0ms
njstuya api {} or undefined +4ms
TuyAPI Connecting to 192.168.0.30... +0ms
TuyAPI Socket connected. +135ms
njstuya Connected to device! +138ms
TuyAPI GET Payload: +2ms
TuyAPI { gwId: '5846055184f3eb20bfaf', devId: '5846055184f3eb20bfaf' } +1ms
TuyAPI Received response +16ms
TuyAPI 000055aa000000000000000a000000fb000000007b226465764964223a223538343630353531383466336562323062666166222c22647073223a7b2231223a747275652c2232223a227768697465222c2233223a32372c2234223a3235352c2235223a223030666630343030373966666666222c2236223a223361353962643030653261666263222c2237223a226666666633323031303066663030222c2238223a226666666632303033666630303030303066663030303030306666222c2239223a226666666632303031666630303030222c223130223a226666666633323035666630303030303066663030666666663030666630306666303030306666227d7d9b920deb0000aa55 +0ms
TuyAPI Parsed response data: +2ms
TuyAPI { devId: '5846055184f3eb20bfaf',
TuyAPI dps:
TuyAPI { '1': true,
TuyAPI '2': 'white',
TuyAPI '3': 27,
TuyAPI '4': 255,
TuyAPI '5': '00ff040079ffff',
TuyAPI '6': '3a59bd00e2afbc',
TuyAPI '7': 'ffff320100ff00',
TuyAPI '8': 'ffff2003ff000000ff000000ff',
TuyAPI '9': 'ffff2001ff0000',
TuyAPI '10': 'ffff3205ff000000ff00ffff00ff00ff0000ff' } } +1ms
njstuya runCommand has started with data {"devId":"5846055184f3eb20bfaf","dps":{"1":true,"2":"white","3":27,"4":255,"5":"00ff040079ffff","6":"3a59bd00e2afbc","7":"ffff320100ff00","8":"ffff2003ff000000ff000000ff","9":"ffff2001ff0000","10":"ffff3205ff000000ff00ffff00ff00ff0000ff"}} +23ms
TuyAPI GET Payload: +5ms
TuyAPI { gwId: '5846055184f3eb20bfaf', devId: '5846055184f3eb20bfaf' } +0ms
TuyAPI Received response +12ms
TuyAPI 000055aa000000000000000a000000fb000000007b226465764964223a223538343630353531383466336562323062666166222c22647073223a7b2231223a747275652c2232223a227768697465222c2233223a32372c2234223a3235352c2235223a223030666630343030373966666666222c2236223a223361353962643030653261666263222c2237223a226666666633323031303066663030222c2238223a226666666632303033666630303030303066663030303030306666222c2239223a226666666632303031666630303030222c223130223a226666666633323035666630303030303066663030666666663030666630306666303030306666227d7d9b920deb0000aa55 +1ms
TuyAPI Parsed response data: +1ms
TuyAPI { devId: '5846055184f3eb20bfaf',
TuyAPI dps:
TuyAPI { '1': true,
TuyAPI '2': 'white',
TuyAPI '3': 27,
TuyAPI '4': 255,
TuyAPI '5': '00ff040079ffff',
TuyAPI '6': '3a59bd00e2afbc',
TuyAPI '7': 'ffff320100ff00',
TuyAPI '8': 'ffff2003ff000000ff000000ff',
TuyAPI '9': 'ffff2001ff0000',
TuyAPI '10': 'ffff3205ff000000ff00ffff00ff00ff0000ff' } } +0ms
njstuya Status: [object Object] +19ms
{ devId: '5846055184f3eb20bfaf',
dps:
{ '1': true,
'2': 'white',
'3': 27,
'4': 255,
'5': '00ff040079ffff',
'6': '3a59bd00e2afbc',
'7': 'ffff320100ff00',
'8': 'ffff2003ff000000ff000000ff',
'9': 'ffff2001ff0000',
'10': 'ffff3205ff000000ff00ffff00ff00ff0000ff' } }
TuyAPI Disconnect +5ms
TuyAPI Socket closed: 192.168.0.30 +1ms
njstuya Disconnected from device. +4ms
So I tried again with out the parameters because you said it should work without specifying anything and again I get an error, Here is the output I keep getting, can you explain what I am doing wrong??
c:\openHAB2\userdata\etc\scripts\njsTuya>node ./njstuya
njstuya booting njstuya +0ms
njstuya api {} or undefined +8ms
TuyAPI Finding missing IP or ID +0ms
TuyAPI Received UDP message. +99ms
TuyAPI UDP data: +2ms
TuyAPI { ip: '192.168.0.19',
TuyAPI gwId: '15764628dc4f22ff7b04',
TuyAPI active: 2,
TuyAPI ability: 0,
TuyAPI mode: 0,
TuyAPI encrypt: true,
TuyAPI productKey: 'AiHXxAyyn7eAkLQY',
TuyAPI version: '3.1' } +0ms
TuyAPI Received UDP message. +407ms
TuyAPI UDP data: +1ms
TuyAPI { ip: '192.168.0.10',
TuyAPI gwId: '75070011840d8e53bd0f',
TuyAPI active: 2,
TuyAPI ability: 0,
TuyAPI mode: 0,
TuyAPI encrypt: true,
TuyAPI productKey: 'AiHXxAyyn7eAkLQY',
TuyAPI version: '3.1' } +1ms
TuyAPI Received UDP message. +1ms
TuyAPI Error: Magic prefix mismatch: 020900ffff011200ea000502e803010006ffa906436c61697279080f03
TuyAPI at MessageParser._parse (c:\openHAB2\userdata\etc\scripts\njsTuya\node_modules\tuyapi\lib\message-parser.js:47:13)
TuyAPI at Object.parse (c:\openHAB2\userdata\etc\scripts\njsTuya\node_modules\tuyapi\lib\message-parser.js:176:5)
TuyAPI at Socket.listener.on.message (c:\openHAB2\userdata\etc\scripts\njsTuya\node_modules\tuyapi\index.js:594:28)
TuyAPI at Socket.emit (events.js:189:13)
TuyAPI at UDP.onMessage [as onmessage] (dgram.js:628:8) +1ms
TuyAPI UDP data: +1ms
c:\openHAB2\userdata\etc\scripts\njsTuya\node_modules\tuyapi\index.js:601
debug(dataRes.data);
^
TypeError: Cannot read property 'data' of undefined
at Socket.listener.on.message (c:\openHAB2\userdata\etc\scripts\njsTuya\node_modules\tuyapi\index.js:601:23)
at Socket.emit (events.js:189:13)
at UDP.onMessage [as onmessage] (dgram.js:628:8)
c:\openHAB2\userdata\etc\scripts\njsTuya>
it appears that something has changed in the tuaAPI interface, can you give me some insight?
Any help here would be appreciated
I ran npm install again
npm install unparagoned/njsTuya
Here is the output from the install:
c:\openHAB2\userdata\etc\scripts>npm install unparagoned/njsTuya
npm WARN saveError ENOENT: no such file or directory, open 'c:\openHAB2\userdata\etc\scripts\package.json'
npm WARN enoent ENOENT: no such file or directory, open 'c:\openHAB2\userdata\etc\scripts\package.json'
npm WARN scripts No description
npm WARN scripts No repository field.
npm WARN scripts No README data
npm WARN scripts No license field.
+ njstuya@2.2.3
added 62 packages from 76 contributors and audited 81 packages in 15.761s
found 0 vulnerabilities
I know it should not matter, where its installed I just thought maybe if I typed it in wrong?? Anyways the result is the same. Here is the output running it from node_modules:
c:\openHAB2\userdata\etc\scripts>node node_modules/njstuya
njstuya booting njstuya +0ms
njstuya api {} or undefined +7ms
TuyAPI Finding missing IP or ID +0ms
TuyAPI Received UDP message. +119ms
TuyAPI UDP data: +3ms
TuyAPI { ip: '192.168.0.46',
TuyAPI gwId: '67833830cc50e3d57eaa',
TuyAPI active: 2,
TuyAPI ability: 0,
TuyAPI mode: 0,
TuyAPI encrypt: true,
TuyAPI productKey: 'bQ59gAWgRIxuiXKQ',
TuyAPI version: '3.1' } +1ms
TuyAPI Received UDP message. +303ms
TuyAPI UDP data: +1ms
TuyAPI { ip: '192.168.0.41',
TuyAPI gwId: '67833830cc50e3d4cda8',
TuyAPI active: 2,
TuyAPI ability: 0,
TuyAPI mode: 0,
TuyAPI encrypt: true,
TuyAPI productKey: 'bQ59gAWgRIxuiXKQ',
TuyAPI version: '3.1' } +1ms
TuyAPI Received UDP message. +2ms
TuyAPI Error: Magic prefix mismatch: 020900ffff011200ea000402e803010006ffa906436c61697279080e03
TuyAPI at MessageParser._parse (c:\openHAB2\userdata\etc\scripts\node_modules\tuyapi\lib\message-parser.js:47:13)
TuyAPI at Object.parse (c:\openHAB2\userdata\etc\scripts\node_modules\tuyapi\lib\message-parser.js:176:5)
TuyAPI at Socket.listener.on.message (c:\openHAB2\userdata\etc\scripts\node_modules\tuyapi\index.js:594:28)
TuyAPI at Socket.emit (events.js:189:13)
TuyAPI at UDP.onMessage [as onmessage] (dgram.js:628:8) +0ms
TuyAPI UDP data: +2ms
c:\openHAB2\userdata\etc\scripts\node_modules\tuyapi\index.js:601
debug(dataRes.data);
^
TypeError: Cannot read property 'data' of undefined
at Socket.listener.on.message (c:\openHAB2\userdata\etc\scripts\node_modules\tuyapi\index.js:601:23)
at Socket.emit (events.js:189:13)
at UDP.onMessage [as onmessage] (dgram.js:628:8)
c:\openHAB2\userdata\etc\scripts>
Here is the output with node node_models/njstuya -mode local
:\openHAB2\userdata\etc\scripts>node node_modules/njstuya -mode local
njstuya booting njstuya +0ms
njstuya "{argName} value is: local +6ms
njstuya api {} or undefined +4ms
TuyAPI Finding missing IP or ID +0ms
TuyAPI Received UDP message. +218ms
TuyAPI UDP data: +3ms
TuyAPI { ip: '192.168.0.36',
TuyAPI gwId: '67833830cc50e3d4e70a',
TuyAPI active: 2,
TuyAPI ability: 0,
TuyAPI mode: 0,
TuyAPI encrypt: true,
TuyAPI productKey: 'bQ59gAWgRIxuiXKQ',
TuyAPI version: '3.1' } +0ms
TuyAPI Received UDP message. +304ms
TuyAPI UDP data: +1ms
TuyAPI { ip: '192.168.0.35',
TuyAPI gwId: '67833830cc50e3d57761',
TuyAPI active: 2,
TuyAPI ability: 0,
TuyAPI mode: 0,
TuyAPI encrypt: true,
TuyAPI productKey: 'bQ59gAWgRIxuiXKQ',
TuyAPI version: '3.1' } +1ms
TuyAPI Received UDP message. +203ms
TuyAPI UDP data: +1ms
TuyAPI { ip: '192.168.0.6',
TuyAPI gwId: '50642000840d8e525b6b',
TuyAPI active: 2,
TuyAPI ability: 0,
TuyAPI mode: 0,
TuyAPI encrypt: true,
TuyAPI productKey: 'AiHXxAyyn7eAkLQY',
TuyAPI version: '3.1' } +1ms
TuyAPI Received UDP message. +202ms
TuyAPI UDP data: +2ms
TuyAPI { ip: '192.168.0.11',
TuyAPI gwId: '05835352dc4f228bf22e',
TuyAPI active: 2,
TuyAPI ability: 0,
TuyAPI mode: 0,
TuyAPI encrypt: true,
TuyAPI productKey: 'AiHXxAyyn7eAkLQY',
TuyAPI version: '3.1' } +0ms
TuyAPI Received UDP message. +102ms
TuyAPI Error: Magic prefix mismatch: 020900ffff011200ea000202e803010006ffa906436c61697279080c03
TuyAPI at MessageParser._parse (c:\openHAB2\userdata\etc\scripts\node_modules\tuyapi\lib\message-parser.js:47:13)
TuyAPI at Object.parse (c:\openHAB2\userdata\etc\scripts\node_modules\tuyapi\lib\message-parser.js:176:5)
TuyAPI at Socket.listener.on.message (c:\openHAB2\userdata\etc\scripts\node_modules\tuyapi\index.js:594:28)
TuyAPI at Socket.emit (events.js:189:13)
TuyAPI at UDP.onMessage [as onmessage] (dgram.js:628:8) +1ms
TuyAPI UDP data: +2ms
c:\openHAB2\userdata\etc\scripts\node_modules\tuyapi\index.js:601
debug(dataRes.data);
^
TypeError: Cannot read property 'data' of undefined
at Socket.listener.on.message (c:\openHAB2\userdata\etc\scripts\node_modules\tuyapi\index.js:601:23)
at Socket.emit (events.js:189:13)
at UDP.onMessage [as onmessage] (dgram.js:628:8)
c:\openHAB2\userdata\etc\scripts>
Again, did I do something wrong??