deiger / AirCon

Scripts for controlling Air Conditioners, e.g. with HiSense modules.
GNU General Public License v3.0
197 stars 55 forks source link

error during registration phase.. #92

Open 5bngr opened 3 years ago

5bngr commented 3 years ago

The server doesn't run but I now see where is failing. See tcpdump below. getting a forbidden 403 in response to the post command from the aircon server. Any ideas?

FUJITSU WiFi Adapter: "model": "AP-WB1E" "sw_version": "bc 2.6.9

APP LOGS notifier.py:112] [KeepAlive] Sending POST http://158.134.10.155/local_reg.json {"local_reg": {"ip": "158.134.2.67", "notify": 1, "port": 8080, "uri": "/local_lan"}} Apr 15 01:36:12 debian9-dev-vm-1 python[29445]: D0415 01:36:12.516 universaldetector.py:234] no data received! Apr 15 01:36:12 debian9-dev-vm-1 python[29445]: D0415 01:36:12.517 universaldetector.py:271] no probers hit minimum threshold Apr 15 01:36:12 debian9-dev-vm-1 python[29445]: E0415 01:36:12.519 notifier.py:117] [KeepAlive] Sending local_reg failed: 403,

TCPDUMP LOGS tcpdump: listening on ens3, link-type EN10MB (Ethernet), capture size 262144 bytes 01:31:54.143062 IP (tos 0x0, ttl 64, id 58071, offset 0, flags [DF], proto TCP (6), length 60) debian9-dev-vm-1.xxxx.crib.52330 > 158.134.10.155.http: Flags [S], cksum 0x4a19 (incorrect -> 0xca56), seq 4161884782, win 29200, options [mss 1460,sackOK,TS val 1288800 ecr 0,nop,wscale 7], length 0 01:31:54.146471 IP (tos 0x0, ttl 253, id 65129, offset 0, flags [none], proto TCP (6), length 44) 158.134.10.155.http > debian9-dev-vm-1.xxxx.crib.52330: Flags [S.], cksum 0xc6b4 (correct), seq 99244421, ack 4161884783, win 4608, options [mss 1152], length 0 01:31:54.146498 IP (tos 0x0, ttl 64, id 58072, offset 0, flags [DF], proto TCP (6), length 40) debian9-dev-vm-1.xxxx.crib.52330 > 158.134.10.155.http: Flags [.], cksum 0x4a05 (incorrect -> 0x7d2d), seq 1, ack 1, win 29200, length 0 01:31:54.147314 IP (tos 0x0, ttl 64, id 58073, offset 0, flags [DF], proto TCP (6), length 258) debian9-dev-vm-1.jxxxx.crib.52330 > 158.134.10.155.http: Flags [P.], cksum 0x4adf (incorrect -> 0xe953), seq 1:219, ack 1, win 29200, length 218: HTTP, length: 218 POST /local_reg.json HTTP/1.1 Host: 158.134.10.155 Accept: application/json Connection: keep-alive Content-Type: application/json Accept-Encoding: gzip User-Agent: Python/3.7 aiohttp/3.7.4 Content-Length: 85

01:31:54.147510 IP (tos 0x0, ttl 64, id 58074, offset 0, flags [DF], proto TCP (6), length 125) debian9-dev-vm-1.xxxx.crib.52330 > 158.134.10.155.http: Flags [P.], cksum 0x4a5a (incorrect -> 0x4441), seq 219:304, ack 1, win 29200, length 85: HTTP 01:31:54.156518 IP (tos 0x0, ttl 253, id 65130, offset 0, flags [none], proto TCP (6), length 66) 158.134.10.155.http > debian9-dev-vm-1.xxxx.crib.52330: Flags [P.], cksum 0xbca4 (correct), seq 1:27, ack 304, win 4305, length 26: HTTP, length: 26 HTTP/1.1 403 Forbidden

deiger commented 3 years ago

Is the air conditioner IP address correct? I'm a bit surprised that these are not RFC 1918 addresses.

5bngr commented 3 years ago

HiThanks for the reply!Yeah, the password thing was def a weird one!As for the ip address space, I can't remember exactly, but I re-ip'ed my home network a while back to test something for work and never changed it back. so my home network address space is 158.134/16 Could this the root cause for the forbidden 403 error? Thanks,Jules

On Friday, April 16, 2021, 06:45:53 AM EDT, Dror Eiger ***@***.***> wrote:  

Is the air conditioner IP address correct? I'm a bit surprised that these are not RFC 1918 addresses.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

deiger commented 3 years ago

It might be. Are you able to reach http://158.134.10.155 through your browser?

5bngr commented 3 years ago

I can, but I get the below..(IP address changed in case your wondering so I re-ran the discovery). I will update my dhcp server & make the leases for these static once we get this to work. Next steps:1 - I can try & run a capture while running the fglair mobile app (iphone) if you think that would help. I would imagine I need to delete/re-register one of the units in order to capture the registration phase. or does the registration phase happens periodically or during sign on maybe?? Or 2 - I can try to re-IP my wireless lan to 10.x if you're thinking that's where the issue is.. Thanks again for the help! Jules

On Friday, April 16, 2021, 12:55:51 PM EDT, Dror Eiger ***@***.***> wrote:  

It might be. Are you able to reach http://158.134.10.155 through your browser?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

deiger commented 3 years ago

Did you attached something? If you did, it didn't survive github's mail-to-post conversion.

5bngr commented 3 years ago

Hi,No I didn't that time but i'm ready now.attached are packet captures of the fglair app vs the aircon server

On Saturday, April 17, 2021, 05:05:56 AM EDT, Dror Eiger ***@***.***> wrote:  

Did you attached something? If you did, it didn't survive github's mail-to-post conversion.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

5bngr commented 3 years ago

after a high level review of the captures, I see the following differences (hope it helps): Post header data, "accepted" - fglair defines "/", aircon defines "application/json" "encoding" - fglair defines an additional setting: "deflate" "accept-language" - parameter missing in aircon post "content-lenght" - 81 in fglair, 85 in aircon "user-agent" - this would, obviously, be different

Json object data port, ip, = again, obviously different notify = 0 in fglair, 1 in aircon

5bngr commented 3 years ago

Hi, I don't think the file captures made it through. Sorry I didn't check earlier. Here they are zipped up. hopefully this works. aircon-capture.zip