robertklep / nefit-easy-http-server

HTTP server to access Nefit/Bosch XMPP backend over HTTP
MIT License
38 stars 15 forks source link

XMPP authentication failure #4

Closed SUNWfrk closed 8 years ago

SUNWfrk commented 8 years ago

Hello,

I'm using the Buderus (Belgium) branded version but I'm unable to login:

$ node -v v6.2.0 $ npm -v 3.8.9 $ easy-server -v 2.1.0 $ easy-server --serial=123456789 --access-key=XXXXXXXX --password=xxxxxx XMPP authentication failure

When using strace I can see it connecting to a bosch.com ip address.

robertklep commented 8 years ago

Does the Buderus have a seperate app, or does it use the Nefit Easy app too? If not, it might be that some "magic numbers" for Buderus are different from the Nefit numbers, which could explain why authentication isn't working.

The Easy connects to IP-number 139.15.227.112, is that the same as what you're seeing? Also, is your access key 16 bytes long?

SUNWfrk commented 8 years ago

The app is called "Buderus EasyMode" the access key is indeed 16 bytes long.

How would I best figure out to which IP it connects? I saw your explanation about the "magic numbers" on the domoticz forum but I do not know how I would find them for the buderus authentication.

robertklep commented 8 years ago

You said that strace is showing it's connecting to bosch.com IP address, so I assumed that you knew what that IP address was. Hostname is fine too, for the Easy it's wa2-mz36-qrmzh6.bosch.de.

I was able to retrieve the Easy magic numbers from the Android app. If you happen to have Android, and you can supply me with an APK of the Buderus app, I can try and see if I can determine if that uses different numbers.

SUNWfrk commented 8 years ago

Hi Robert,

you can find the android apk here: https://sunwfrk.com/pub/com.bosch.tt.buderus.easymode-1.tar.gz

robertklep commented 8 years ago

Thanks! It looks like the encryption methods for both Buderus and Nefit are exactly the same, so that's not what causing the issues. Hostname is also shared between the two apps, so that's also not the problem.

I seem to remember an issue that people were having with long passwords, but I can't remember the specifics (also can't find the issue). Try removing characters from the end of your password until its 10 characters long (although I can't remember the maximum length).

SUNWfrk commented 8 years ago

Hi,

I now installed nodejs v4 and now it seems to work:

$ node -v v4.4.4 $ npm -v 2.15.1 $ easy-server -v 2.1.0

Thanks, so this is resolved and confirmed to work.

robertklep commented 8 years ago

Hmm that's weird though, it should work with Node v6 (although I haven't tested it yet). I'll create a new issue to remind myself that it needs testing, perhaps some crypto internals have changed and are now breaking stuff.

I'll close this issue, thanks for letting me know that you were able to solve it!

robertklep commented 8 years ago

FWIW, I just released a bunch of new module versions that should solve the problems with Node v6; nefit-easy-http-server@2.2.0 should be okay to use with Node 6.

SUNWfrk commented 8 years ago

Ok Thanks!