Comments (6)
Hey, is that the only error? try to enable the debug mode on homebridge, the doorbell is not implemented but with debug mode i can find if is possible to add support for it or not
from homebridge-tp-link-tapo.
Hey thanks for the reply.
This is the information I have pulled from the full log (redacted the IP address and the Public Key):
[10/7/2023, 7:45:51 PM] [Tapo] Error sending command: deviceInfo AxiosError: connect ETIMEDOUT [IP.ADDRESS]:80 at Function.AxiosError.from (/usr/local/lib/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/core/AxiosError.js:89:14) at RedirectableRequest.handleRequestError (/usr/local/lib/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/adapters/http.js:593:25) at RedirectableRequest.emit (node:events:513:28) at ClientRequest.eventHandlers.<computed> (/usr/local/lib/node_modules/homebridge-tp-link-tapo/node_modules/follow-redirects/index.js:14:24) at ClientRequest.emit (node:events:513:28) at Socket.socketErrorListener (node:_http_client:502:9) at Socket.emit (node:events:513:28) at emitErrorNT (node:internal/streams/destroy:151:8) at emitErrorCloseNT (node:internal/streams/destroy:116:3) at processTicksAndRejections (node:internal/process/task_queues:82:21) { port: 80, address: '[IP.ADDRESS]', syscall: 'connect', code: 'ETIMEDOUT', errno: -60, config: { transitional: { silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false }, adapter: [ 'xhr', 'http' ], transformRequest: [ [Function: transformRequest] ], transformResponse: [ [Function: transformResponse] ], timeout: 0, xsrfCookieName: 'XSRF-TOKEN', xsrfHeaderName: 'X-XSRF-TOKEN', maxContentLength: -1, maxBodyLength: -1, env: { FormData: [Function], Blob: [class Blob] }, validateStatus: [Function: validateStatus], headers: Object [AxiosHeaders] { Accept: 'application/json, text/plain, */*', 'Content-Type': 'application/json', 'User-Agent': 'axios/1.5.1', 'Content-Length': '352', 'Accept-Encoding': 'gzip, compress, deflate, br' }, httpAgent: Agent { _events: [Object: null prototype], _eventsCount: 2, _maxListeners: undefined, defaultPort: 80, protocol: 'http:', options: [Object: null prototype], requests: [Object: null prototype] {}, sockets: [Object: null prototype], freeSockets: [Object: null prototype] {}, keepAliveMsecs: 1000, keepAlive: false, maxSockets: Infinity, maxFreeSockets: 256, scheduling: 'lifo', maxTotalSockets: Infinity, totalSocketCount: 1, [Symbol(kCapture)]: false }, method: 'post', url: 'http://[IP.ADDRESS]/app', data: '{"method":"handshake","params":{"key":"-----BEGIN PUBLIC KEY-----\\[THE PUBLIC KEY]-----END PUBLIC KEY-----\\n"},"requestTimeMils":1696704290671}' }, request: <ref *1> Writable { _writableState: WritableState { objectMode: false, highWaterMark: 16384, finalCalled: false, needDrain: false, ending: false, ended: false, finished: false, destroyed: false, decodeStrings: true, defaultEncoding: 'utf8', length: 0, writing: false, corked: 0, sync: true, bufferProcessing: false, onwrite: [Function: bound onwrite], writecb: null, writelen: 0, afterWriteTickInfo: null, buffered: [], bufferedIndex: 0, allBuffers: true, allNoop: true, pendingcb: 0, constructed: true, prefinished: false, errorEmitted: false, emitClose: true, autoDestroy: true, errored: null, closed: false, closeEmitted: false, [Symbol(kOnFinished)]: [] }, _events: [Object: null prototype] { response: [Function: handleResponse], error: [Function: handleRequestError], socket: [Function: handleRequestSocket] }, _eventsCount: 3, _maxListeners: undefined, _options: { maxRedirects: 21, maxBodyLength: Infinity, protocol: 'http:', path: '/app', method: 'POST', headers: [Object: null prototype], agents: [Object], auth: undefined, family: undefined, beforeRedirect: [Function: dispatchBeforeRedirect], beforeRedirects: [Object], hostname: '[IP.ADDRESS]', port: '', agent: [Agent], nativeProtocols: [Object], pathname: '/app' }, _ended: false, _ending: true, _redirectCount: 0, _redirects: [], _requestBodyLength: 352, _requestBodyBuffers: [ [Object] ], _onNativeResponse: [Function (anonymous)], _currentRequest: ClientRequest { _events: [Object: null prototype], _eventsCount: 7, _maxListeners: undefined, outputData: [], outputSize: 0, writable: true, destroyed: false, _last: true, chunkedEncoding: false, shouldKeepAlive: false, maxRequestsOnConnectionReached: false, _defaultKeepAlive: true, useChunkedEncodingByDefault: true, sendDate: false, _removedConnection: false, _removedContLen: false, _removedTE: false, strictContentLength: false, _contentLength: '352', _hasBody: true, _trailer: '', finished: false, _headerSent: true, _closed: false, socket: [Socket], _header: 'POST /app HTTP/1.1\r\n' + 'Accept: application/json, text/plain, */*\r\n' + 'Content-Type: application/json\r\n' + 'User-Agent: axios/1.5.1\r\n' + 'Content-Length: 352\r\n' + 'Accept-Encoding: gzip, compress, deflate, br\r\n' + 'Host: [IP.ADDRESS]\r\n' + 'Connection: close\r\n' + '\r\n', _keepAliveTimeout: 0, _onPendingData: [Function: nop], agent: [Agent], socketPath: undefined, method: 'POST', maxHeaderSize: undefined, insecureHTTPParser: undefined, joinDuplicateHeaders: undefined, path: '/app', _ended: false, res: null, aborted: false, timeoutCb: null, upgradeOrConnect: false, parser: null, maxHeadersCount: null, reusedSocket: false, host: '[IP.ADDRESS]', protocol: 'http:', _redirectable: [Circular *1], [Symbol(kCapture)]: false, [Symbol(kBytesWri[10/7/2023, 7:45:51 PM] [Tapo] Retry to connect in 10s : [IP.ADDRESS] tten)]: 0, [Symbol(kEndCalled)]: false, [Symbol(kNeedDrain)]: false, [Symbol(corked)]: 0, [Symbol(kOutHeaders)]: [Object: null prototype], [Symbol(errored)]: null, [Symbol(kUniqueHeaders)]: null }, _currentUrl: 'http://[IP.ADDRESS]/app', [Symbol(kCapture)]: false }, cause: Error: connect ETIMEDOUT [IP.ADDRESS]:80 at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1494:16) { errno: -60, code: 'ETIMEDOUT', syscall: 'connect', address: '[IP.ADDRESS]', port: 80 } } [10/7/2023, 7:45:51 PM] [Tapo] Failed to get info about: [IP.ADDRESS]
Sorry It doesn't seem to be formatting in a nice way :(
from homebridge-tp-link-tapo.
Hi @RaresAil,
yeah I have the similar Tapo doorbell: https://www.tapo.com/uk/product/smart-camera/tapo-d230s1/ with tapo hub and tried adding it through this plugin using IP address of Hub (as doorbell doesn't doesn't have an IP address) and i get similar error also.
[10/14/2023, 3:46:16 PM] [Tapo] Try for 192.168.1.60 : 17/20
[10/14/2023, 3:50:36 PM] [Tapo] Error sending command: deviceInfo AxiosError: connect ETIMEDOUT 192.168.1.60:80
at Function.AxiosError.from (/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/core/AxiosError.js:89:14)
at RedirectableRequest.handleRequestError (/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/adapters/http.js:593:25)
at RedirectableRequest.emit (node:events:513:28)
at ClientRequest.eventHandlers.<computed> (/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/follow-redirects/index.js:14:24)
at ClientRequest.emit (node:events:513:28)
at Socket.socketErrorListener (node:_http_client:502:9)
at Socket.emit (node:events:513:28)
at emitErrorNT (node:internal/streams/destroy:151:8)
at emitErrorCloseNT (node:internal/streams/destroy:116:3)
at processTicksAndRejections (node:internal/process/task_queues:82:21) {
port: 80,
address: '192.168.1.60',
syscall: 'connect',
code: 'ETIMEDOUT',
errno: -110,
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: 'http',
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function], Blob: [class Blob] },
validateStatus: [Function: validateStatus],
headers: Object [AxiosHeaders] {
Accept: 'application/json, text/plain, */*',
'Content-Type': 'application/json',
'User-Agent': 'axios/1.5.0',
'Content-Length': '352',
'Accept-Encoding': 'gzip, compress, deflate, br'
},
httpAgent: Agent {
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
defaultPort: 80,
protocol: 'http:',
options: [Object: null prototype],
requests: [Object: null prototype] {},
sockets: [Object: null prototype],
freeSockets: [Object: null prototype] {},
keepAliveMsecs: 1000,
keepAlive: false,
maxSockets: Infinity,
maxFreeSockets: 256,
scheduling: 'lifo',
maxTotalSockets: Infinity,
totalSocketCount: 1,
[Symbol(kCapture)]: false
},
method: 'post',
url: 'http://192.168.1.60/app',
data: '{"method":"handshake","params":{"key":"-----BEGIN PUBLIC KEY-----\\n[THE PUBLIC KEY]\\n-----END PUBLIC KEY-----\\n"},"requestTimeMils":1697294905561}'
},
request: <ref *1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError],
socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: Infinity,
protocol: 'http:',
path: '/app',
method: 'POST',
headers: [Object: null prototype],
agents: [Object],
auth: undefined,
family: undefined,
beforeRedirect: [Function: dispatchBeforeRedirect],
beforeRedirects: [Object],
hostname: '192.168.1.60',
port: '',
agent: [Agent],
nativeProtocols: [Object],
pathname: '/app'
},
_ended: false,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 352,
_requestBodyBuffers: [ [Object] ],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
strictContentLength: false,
_contentLength: '352',
_hasBody: true,
_trailer: '',
finished: false,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'POST /app HTTP/1.1\r\n' +
'Accept: application/json, text/plain, */*\r\n' +
'Content-Type: application/json\r\n' +
'User-Agent: axios/1.5.0\r\n' +
'Content-Length: 352\r\n' +
'Accept-Encoding: gzip, compress, deflate, br\r\n' +
'Host: 192.168.1.60\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
joinDuplicateHeaders: undefined,
path: '/app',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '192.168.1.60',
protocol: 'http:',
_redirectable: [Circular *1],
[Symbol(kCapture)]: false,
[Symbol(kBytesWritten)]: 0,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype],
[Symbol(errored)]: null,
[Symbol(kUniqueHeaders)]: null
},
_currentUrl: 'http://192.168.1.60/app',
[Symbol(kCapture)]: false
},
cause: Error: connect ETIMEDOUT 192.168.1.60:80
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1494:16) {
errno: -110,
code: 'ETIMEDOUT',
syscall: 'connect',
address: '192.168.1.60',
port: 80
}
}
[10/14/2023, 3:50:36 PM] [Tapo] Failed to get info about: 192.168.1.60
[10/14/2023, 3:50:36 PM] [Tapo] Retry to connect in 10s : 192.168.1.60
from homebridge-tp-link-tapo.
Just bumping this to see if you had a chance to look into it @RaresAil 😄
from homebridge-tp-link-tapo.
would love to see this working too
from homebridge-tp-link-tapo.
I have added the Tapo H200 hub to home assistant but can't add the D230.
from homebridge-tp-link-tapo.
Related Issues (20)
- Homebridge TP-Link Tapo Plugin Error: Second Handshake Failed
- Log flooding "[Tapo] Failed to check for updates, delaying 500ms"
- Support LED L920
- Please add support for Tapo S505 switches
- Smoothly turning light up from off causes an error in the console
- Tapo smart button is not getting added to the home app
- This plugin slows down homebridge
- L530 Light Second handshake failed HOT 1
- Light effects for L920 LED Strip?
- Homebridge Console getting littered with "this plugin slows down" message and light bulb is unresponsive in just homebridge HOT 4
- Error sending command: deviceInfo TypeError: RSA _PKCS1_PADDING is no longer supported for private decryption, this can be reverted with --security-revert=CVE-2023-46809 HOT 11
- Private Encryption Error HOT 7
- does this support GU10 - Tapo L630
- Cannot connect Tapo Smart Contact Sensor T110 managed by H200 HOT 4
- P105 stopped working, "Command error: power > -1012" HOT 3
- Can we add support for HS220 smart dimmer? Hardware version 3.26 no longer works on old kasa/tp-link APIs
- Error sending command: deviceInfo AxiosError: Request failed with status code 403 HOT 2
- Plugin generated a warning from the characteristic 'Motion Detected'
- P100 Failed to verify server hash HOT 5
- T310
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from homebridge-tp-link-tapo.