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

ERROR_INVALID_PARAM (-110) #37

Closed
MattHodge opened this issue Dec 29, 2020 · 22 comments
Closed

ERROR_INVALID_PARAM (-110) #37

MattHodge opened this issue Dec 29, 2020 · 22 comments
Assignees
Labels
bug Something isn't working fixed

Comments

@MattHodge
Copy link

MattHodge commented Dec 29, 2020

Hi There,

I setup the eufy-security plugin (version 0.0.9) in ioBroker following this tutorial: https://blog.fuzzymistborn.com/controlling-eufy-security-devices-with-iobroker/

I can see all the status of my camera and home base successfully (Homebase 2 + eufyCam 2C).

image

When I try and set data, for example the guard_mode, the value fails to be set, with ioBroker showing the following error log:

2020-12-29 11:08:04.232 - info: eufy-security.0 (13227) state eufy-security.0.T8XXXXXXXXXXXX.station.guard_mode changed: 1 (ack = false)
2020-12-29 11:08:04.233 - debug: eufy-security.0 (13227) Station.setGuardMode(): P2P connection to station T8XXXXXXXXXXXX present, send command mode: 1.
2020-12-29 11:08:04.234 - debug: eufy-security.0 (13227) Station.setGuardMode(): Using CMD_SET_PAYLOAD...
2020-12-29 11:08:04.235 - debug: eufy-security.0 (13227) EufyP2PClientProtocol._sendCommand(): sequence: 0 command_type: 1350 channel: 255 retries: 0 message_states.size: 1
2020-12-29 11:08:04.243 - debug: eufy-security.0 (13227) EufyP2PClientProtocol.handleMsg(): ACK - received from host 10.13.37.21:18042 for datatype DATA sequence 0
2020-12-29 11:08:04.275 - debug: eufy-security.0 (13227) EufyP2PClientProtocol.handleMsg(): DATA - received from host 10.13.37.21:18042 - Processing DATA with sequence 0...
2020-12-29 11:08:04.276 - debug: eufy-security.0 (13227) Station.onCommandResponse(): station: T8XXXXXXXXXXXX command_type: 1224 channel: 255 return_code: ERROR_INVALID_PARAM (-110)
2020-12-29 11:08:04.277 - error: eufy-security.0 (13227) EufySecurity.stationP2PCommandResult(): Station: T8XXXXXXXXXXXX command CMD_SET_ARMING failed with error: ERROR_INVALID_PARAM (-110)
# trimmed the data object
2020-12-29 11:08:04.278 - debug: eufy-security.0 (13227) EufyP2PClientProtocol.handleData(): Result data for command received - message: {"sequence":0,"command_type":1350,"nested_command_type":1224,"channel":255,"data":{"type":"Buffer","data":[209,0,0,0,88,90,89,72,70,5,128,0,0,0,1,0,255,0,0,0,123,34,97,99,99,....]},"retries":1,"acknowledged":true,"return_code":-1,"timeout":{"_idleTimeout":-1,"_idlePrev":null,"_idleNext":null,"_idleStart":19351,"_onTimeout":null,"_repeat":null,"_destroyed":true}} result: ERROR_INVALID_PARAM (-110)
2020-12-29 11:08:04.278 - debug: eufy-security.0 (13227) EufyP2PClientProtocol.handleData(): commandId: 
# I trimmed the msg string
CMD_SET_PAYLOAD (1350) - result: ERROR_INVALID_PARAM (-110) - msg: f1d00098d1000000585a5948XXXXXXXXX

I can send the full data and msg strings, just wasn't sure if they contained secrets so trimmed them.

Appreciate your work on this integration! 👍

@tofrie
Copy link

tofrie commented Dec 29, 2020

Der selber Fehler tritt bei mir auf. Ein Downgrade auf 0.0.8 funktioniert leider nicht.

@bropat bropat self-assigned this Dec 29, 2020
@bropat bropat added bug Something isn't working work in progress Working on it labels Dec 29, 2020
bropat pushed a commit that referenced this issue Dec 29, 2020
Fixed version numbering
Updated versions of the package dependencies
@bropat bropat added fixed. waiting for feedback Issue should be fixed. Waiting on feedback and removed work in progress Working on it labels Dec 29, 2020
@bropat bropat added this to Done in Eufy Security Dec 29, 2020
@MattHodge
Copy link
Author

Thanks for the quick turn around!

I tried the new version 0.1.1 and recreated my Eufy Security adapter just to be sure.

I still get the same error message as my initial post.

@tofrie
Copy link

tofrie commented Dec 29, 2020

Same here...

[2020-12-29] 16:59:01.658 - info: eufy-security.0 (23719) state eufy-security.0.T8010N23202xxxxx.station.guard_mode changed: 0 (ack = false)

2020-12-29 16:59:01.660 - debug: eufy-security.0 (23719) Station.setGuardMode(): P2P connection to station T8010N23202xxxxx present, send command mode: 0.
2020-12-29 16:59:01.661 - debug: eufy-security.0 (23719) Station.setGuardMode(): Using CMD_SET_PAYLOAD...
2020-12-29 16:59:01.662 - debug: eufy-security.0 (23719) EufyP2PClientProtocol._sendCommand(): sequence: 1 command_type: 1350 channel: 255 retries: 0 message_states.size: 1
2020-12-29 16:59:01.672 - debug: eufy-security.0 (23719) EufyP2PClientProtocol.handleMsg(): ACK - received from host 192.168.178.43:16707 for datatype DATA sequence 1
2020-12-29 16:59:01.697 - debug: eufy-security.0 (23719) EufyP2PClientProtocol.handleMsg(): DATA - received from host 192.168.178.43:16707 - Processing DATA with sequence 1...
2020-12-29 16:59:01.699 - debug: eufy-security.0 (23719) Station.onCommandResponse(): station: T8010N23202xxxxx command_type: 1224 channel: 255 return_code: ERROR_INVALID_PARAM (-110)
2020-12-29 16:59:01.700 - error: eufy-security.0 (23719) EufySecurity.stationP2PCommandResult(): Station: T8010N23202xxxxx command CMD_SET_ARMING failed with error: ERROR_INVALID_PARAM (-110)
2020-12-29 16:59:01.701 - debug: eufy-security.0 (23719) EufyP2PClientProtocol.handleData(): Result data for command received - message: {"sequence":1,"command_type":1350,"nested_command_type":1224,"channel":255,"data":{"type":"Buffer","data":[209,0,0,1,88,90,89,72,70,5,128,0,0,0,1,0,255,0,0,0,123,34,97,99,99,111,117,110,116,95,105,100,34,58,34,99,97,97,54,50,54,56,48,56,100,97,51,56,53,48,51,57,53,50,49,100,50,100,51,55,53,53,48,50,48,99,101,51,100,50,55,54,99,99,50,34,44,34,99,109,100,34,58,49,50,50,52,44,34,109,86,97,108,117,101,51,34,58,48,44,34,112,97,121,108,111,97,100,34,58,123,34,109,111,100,101,95,116,121,112,101,34,58,48,44,34,117,115,101,114,95,110,97,109,101,34,58,34,116,111,98,105,97,115,102,114,105,101,100,114,105,99,104,34,125,125]},"retries":1,"acknowledged":true,"return_code":-1,"timeout":{"_idleTimeout":-1,"_idlePrev":null,"_idleNext":null,"_idleStart":44560,"_onTimeout":null,"_repeat":null,"_destroyed":true}} result: ERROR_INVALID_PARAM (-110)
2020-12-29 16:59:01.702 - debug: eufy-security.0 (23719) EufyP2PClientProtocol.handleData(): commandId: CMD_SET_PAYLOAD (1350) - result: ERROR_INVALID_PARAM (-110) - a msg: `f1d00098d1000001585a594846058400000001Xxxxxxx

@bropat bropat added work in progress Working on it and removed fixed. waiting for feedback Issue should be fixed. Waiting on feedback labels Dec 29, 2020
@bropat
Copy link
Owner

bropat commented Dec 29, 2020

@MattHodge, @tofrie

Thanks for the quick feedback :)
Could you please tell me your station software version?

@tofrie
Copy link

tofrie commented Dec 29, 2020

System 2.1.4.4h
Subsystem 1.3.0.9

@bropat
Copy link
Owner

bropat commented Dec 29, 2020

System 2.1.4.4h
Subsystem 1.3.0.9

The same version I have and it works for me. What could be the difference...

@tofrie
Copy link

tofrie commented Dec 29, 2020

0.0.8 lief ohne Probleme. Seit dem Update klappt es nicht mehr. Ich habe es auch mit einer Neuinstallation probiert... leider erfolglos.

@MattHodge
Copy link
Author

System 2.1.4.4h
Subsystem 1.3.0.9

🤔

@bropat
Copy link
Owner

bropat commented Dec 29, 2020

I double checked everything including the original Eufy App source:

public static void setArming(String str, MediaAccountInfo mediaAccountInfo, int i) {
        QueryStationData b = d.a().b(mediaAccountInfo.mHubSn);
        if ((b != null && a.a().a("new_instance_vision_as", b.main_sw_version) && !b.isIntegratedDeviceBySn()) || (b != null && b.isSoloCams())) {
            sendP2PRequest(str, mediaAccountInfo.mHubSn, new P2PRequest(CommandType.APP_CMD_SET_ARMING, new SwitchModeEntity(i, b.a().g().nick_name)));
            return;
        }
        ZMediaCom zMediaCom = new ZMediaCom(mediaAccountInfo.mInitStr, mediaAccountInfo.mDidStr, mediaAccountInfo.mHubSn);
        zMediaCom.msgType = 10;
        zMediaCom.mValueStr = b.a().d(mediaAccountInfo.mHubSn);
        zMediaCom.mCommandType = CommandType.APP_CMD_SET_ARMING;
        zMediaCom.mValue = i;
        zMediaCom.transaction = str;
        ZMediaManager.getInstance().putMsg(zMediaCom);
    }

I don't understand why it works for me and not for you guys.
I'm thinking of implementing a fallback for when the new method fails to use the old one.
But it would be better to understand why the new method does not work in your case...

@bropat
Copy link
Owner

bropat commented Dec 29, 2020

@MattHodge, @tofrie

Did you use the Eufy administrator account with ioBroker adapter or another account?
If you haven't used the administrator account, please run the test again with it.

Let me know if it works.

PS: Don't worry, if it works I will find a solution. :)

@tofrie
Copy link

tofrie commented Dec 30, 2020

I‘m working with with my admin account. I tried to delete all logins and established a new connection but it doesn’t work.

@MattHodge
Copy link
Author

I‘m working with with my admin account. I tried to delete all logins and established a new connection but it doesn’t work.

Same with me.

Also switched to using 2FA as well, same error.

@bropat
Copy link
Owner

bropat commented Dec 30, 2020

@MattHodge and/or @tofrie

I would suggest we do a live session where we troubleshoot the problem together. I could do it today at 9.30 PM GMT+1.
Let me know :)

@tofrie
Copy link

tofrie commented Dec 30, 2020

Sorry, ich bin beruflich noch eingespannt :(

@MattHodge
Copy link
Author

Hey just saw this, defiantly keen to try. I am in the same time zone as you it seems. Not sure how to directly contact you but my email / Twitter / LinkedIn is listed on the side panel of my blog: https://hodgkins.io/

@tofrie
Copy link

tofrie commented Dec 31, 2020

I restarted the adapter, restarted the station and re-established all connections. Is it maybe the version of node.js? We all installed the same version on the station. Which system does your iobroker run on? Maybe this is the fault?

@bropat
Copy link
Owner

bropat commented Dec 31, 2020

@MattHodge
I will contact you in the next few days.

@tofrie
I don't think it is the node.js version, because the response ERROR_INVALID_PARAM (-110) comes directly from the station via the P2P interface.
I think the problem is how the P2P command CMD_SET_PAYLOAD is issued by the adapter.
I remember that this adapter was created by reverse engineering and thus some errors or misinterpretations are easily possible ;)

The best we can do to understand where the problem is, is to provisionally invite me with my account to your Eufy account, so I can directly debug the Eufy app, including the network traffic.
But I would do that in a live session so you can be right there and remove my account at the end.

@tofrie
Copy link

tofrie commented Dec 31, 2020

is there a way to install version 0.0.8?

@bropat
Copy link
Owner

bropat commented Dec 31, 2020

@tofrie

is there a way to install version 0.0.8?

Yes, you can run the following command from the command line:

iobroker url https://github.com/bropat/ioBroker.eufy-security/tarball/0.0.8

bropat pushed a commit that referenced this issue Jan 2, 2021
Updated versions of the package dependencies
@bropat
Copy link
Owner

bropat commented Jan 2, 2021

@MattHodge, @tofrie

Should be fixed with latest version (0.1.3). Let me know :)

@bropat bropat added fixed. waiting for feedback Issue should be fixed. Waiting on feedback and removed work in progress Working on it labels Jan 2, 2021
@tofrie
Copy link

tofrie commented Jan 3, 2021

@bropat works perfect for me! I will continue to watch it today. Thanks for your good work.

@bropat bropat added fixed and removed fixed. waiting for feedback Issue should be fixed. Waiting on feedback labels Jan 3, 2021
@bropat bropat closed this as completed Jan 3, 2021
@MattHodge
Copy link
Author

Thanks @bropat ! New version works great.

Really appreciate your efforts!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working fixed
Projects
Development

No branches or pull requests

3 participants