homebridge-mi-acpartner
homebridge-mi-acpartner copied to clipboard
Send code failed
目前米家app能控制空调,家庭app里面能看到配件和当前空调状态,但是不能控制,点按之后在log里出现的就是"send code failed! Error: (null)" ,请问一下如何解决这个问题?谢谢!
I have the same error with my Aqara Air Condition Partner (KTBL11LM) bought in July 2019, with firmware 1.4.1_159.0149 and preset 'Samsung 4850' when I clicked on 'Cool' button in Home app on iOS. My current config:
{ "platform": "XiaoMiAcPartner", "devices": { "192.168.1.109": "..." }, "accessories": [ { "name": "AC Bedroom ACP", "type": "climate" } ] }
I saw this in debug mode:
EventedHTTPServer [::ffff:192.168.1.107] HTTP request: /characteristics +4s HAPServer [CC:22:3D:E3:CE:31] HAP Request: PUT /characteristics +1ms Accessory [Homebridge] Processing characteristic set: [{"aid":11,"iid":11,"value":2}] +3ms Accessory [Homebridge] Setting Characteristic "Target Heating Cooling State" to value 2 +1ms EventedHTTPServer [::ffff:192.168.1.111] HTTP request: /characteristics +802ms HAPServer [CC:22:3D:E3:CE:31] HAP Request: PUT /characteristics +1ms Accessory [Homebridge] Processing characteristic set: [{"aid":11,"iid":12,"ev":false},{"aid":11,"iid":10,"ev":false},{"aid":11,"iid":13,"ev":false},{"aid":11,"iid":11,"ev":false},{"aid":11,"iid":14,"ev":false}] +2ms Accessory [Homebridge] Unregistering Characteristic "Current Temperature" for events +1ms Accessory [Homebridge] Unregistering Characteristic "Current Heating Cooling State" for events +1ms Accessory [Homebridge] Unregistering Characteristic "Target Temperature" for events +1ms Accessory [Homebridge] Unregistering Characteristic "Target Heating Cooling State" for events +1ms Accessory [Homebridge] Unregistering Characteristic "Temperature Display Units" for events +1ms EventedHTTPServer [::ffff:192.168.1.111] HTTP Response is finished +3ms EventedHTTPServer [::ffff:192.168.1.111] HTTP request: /characteristics +1ms HAPServer [6B:2D:C0:A5:C2:81] HAP Request: PUT /characteristics +1ms Accessory [Camera Kitchen] Processing characteristic set: [{"aid":1,"iid":11,"ev":false}] +2ms Accessory [Camera Kitchen] Unregistering Characteristic "Mute" for events +1ms EventedHTTPServer [::ffff:192.168.1.111] HTTP Response is finished +2ms EventedHTTPServer [::ffff:192.168.1.111] HTTP request: /characteristics +11ms HAPServer [CC:22:3D:E3:CE:31] HAP Request: PUT /characteristics +1ms Accessory [Homebridge] Processing characteristic set: [{"aid":2,"iid":12,"ev":false},{"aid":2,"iid":10,"ev":false},{"aid":2,"iid":13,"ev":false},{"aid":2,"iid":11,"ev":false}] +3ms Accessory [Homebridge] Unregistering Characteristic "Hue" for events +0ms Accessory [Homebridge] Unregistering Characteristic "On" for events +1ms Accessory [Homebridge] Unregistering Characteristic "Saturation" for events +1ms Accessory [Homebridge] Unregistering Characteristic "Brightness" for events +1ms EventedHTTPServer [::ffff:192.168.1.111] HTTP Response is finished +2ms [7/21/2019, 3:45:48 PM] [XiaoMiAcPartner] [DEBUG]Sending AC code: 010000485011101900 miio.device.[192.168.1.109] -> (5) {"id":20,"method":"send_cmd","params":["010000485011101900"]} +5s miio.packet -> <Buffer 21 31 00 60 00 00 00 00 07 d3 8e 50 00 00 1b 2c 79 51 ad 5c 05 0d 7d cb 35 6b 51 ac 16 79 2d 48> +1ms miio.packet <- <Buffer 21 31 00 60 00 00 00 00 07 d3 8e 50 00 00 1b 2d 9f cf 60 62 39 d0 57 1d db fb 0c 99 db cf df e5> +432ms miio.device.[192.168.1.109] <- Message:
{"error":{"code":-1,"message":"(null)"},"id":20}
+3ms [7/21/2019, 3:45:48 PM] [XiaoMiAcPartner] [AC Bedroom ACP]Send code failed! Error: (null) Accessory [Homebridge] Error setting Characteristic "Target Heating Cooling State" to value 2: (null) +607ms EventedHTTPServer [::ffff:192.168.1.107] HTTP Response is finished +3ms miio.device.[192.168.1.109] -> (5) {"id":21,"method":"get_model_and_state","params":[]} +16ms miio.packet -> <Buffer 21 31 00 60 00 00 00 00 07 d3 8e 50 00 00 1b 2d c1 73 ad fa 1a b0 98 22 ed fa 7c e9 4e 28 3c 4f> +1ms miio.packet <- <Buffer 21 31 00 70 00 00 00 00 07 d3 8e 50 00 00 1b 2d 4f fc ec 15 26 a5 a3 e6 85 a7 3d 86 07 be 67 93> +16ms miio.device.[192.168.1.109] <- Message:{"result":["010500120000485001","011110190100004850","0"],"id":21}
+2ms [7/21/2019, 3:45:48 PM] [XiaoMiAcPartner] Sync ----------------------------- [7/21/2019, 3:45:48 PM] [XiaoMiAcPartner] Accessory -> AC Bedroom ACP [7/21/2019, 3:45:48 PM] [XiaoMiAcPartner] Model -> 0100004850 [7/21/2019, 3:45:48 PM] [XiaoMiAcPartner] Active -> 1 [7/21/2019, 3:45:48 PM] [XiaoMiAcPartner] Mode -> 1 [7/21/2019, 3:45:48 PM] [XiaoMiAcPartner] Temperature -> 25 [7/21/2019, 3:45:48 PM] [XiaoMiAcPartner] RotationSpeed -> 1 [7/21/2019, 3:45:48 PM] [XiaoMiAcPartner] SwingMode -> 1 [7/21/2019, 3:45:48 PM] [XiaoMiAcPartner] LED -> 0 [7/21/2019, 3:45:48 PM] [XiaoMiAcPartner] ----------------------------------- EventedHTTPServer [::ffff:192.168.1.107] Sending HTTP event '11.10' with data: {"characteristics":[{"aid":11,"iid":10,"value":2}]} +46ms EventedHTTPServer [::ffff:192.168.1.107] Sending HTTP event '11.11' with data: {"characteristics":[{"aid":11,"iid":11,"value":2}]} +4ms EventedHTTPServer [::ffff:192.168.1.107] HTTP request: /characteristics +283ms HAPServer [CC:22:3D:E3:CE:31] HAP Request: PUT /characteristics +1ms Accessory [Homebridge] Processing characteristic set: [{"aid":11,"iid":11,"value":2}] +2ms Accessory [Homebridge] Setting Characteristic "Target Heating Cooling State" to value 2 +1ms EventedHTTPServer [::ffff:192.168.1.111] HTTP request: /characteristics +956ms HAPServer [CC:22:3D:E3:CE:31] HAP Request: PUT /characteristics +1ms Accessory [Homebridge] Processing characteristic set: [{"aid":11,"iid":10,"ev":true},{"aid":11,"iid":11,"ev":true},{"aid":11,"iid":12,"ev":true},{"aid":11,"iid":13,"ev":true},{"aid":11,"iid":14,"ev":true}] +2ms Accessory [Homebridge] Registering Characteristic "Current Heating Cooling State" for events +1ms Accessory [Homebridge] Registering Characteristic "Target Heating Cooling State" for events +1ms Accessory [Homebridge] Registering Characteristic "Current Temperature" for events +0ms Accessory [Homebridge] Registering Characteristic "Target Temperature" for events +1ms Accessory [Homebridge] Registering Characteristic "Temperature Display Units" for events +1ms EventedHTTPServer [::ffff:192.168.1.111] HTTP Response is finished +2ms [7/21/2019, 3:45:49 PM] [XiaoMiAcPartner] [DEBUG]Sending AC code: 010000485011101900 miio.device.[192.168.1.109] -> (5) {"id":22,"method":"send_cmd","params":["010000485011101900"]} +1s miio.packet -> <Buffer 21 31 00 60 00 00 00 00 07 d3 8e 50 00 00 1b 2e 68 aa e8 f6 d8 7b a5 93 26 37 df e6 6a eb 17 35> +2ms EventedHTTPServer [::ffff:192.168.1.111] HTTP request: /characteristics +53ms HAPServer [6B:2D:C0:A5:C2:81] HAP Request: PUT /characteristics +1ms Accessory [Camera Kitchen] Processing characteristic set: [{"aid":1,"iid":11,"ev":true}] +3ms Accessory [Camera Kitchen] Registering Characteristic "Mute" for events +1ms EventedHTTPServer [::ffff:192.168.1.111] HTTP Response is finished +3ms EventedHTTPServer [::ffff:192.168.1.111] HTTP request: /characteristics +7ms HAPServer [CC:22:3D:E3:CE:31] HAP Request: PUT /characteristics +2ms Accessory [Homebridge] Processing characteristic set: [{"aid":2,"iid":10,"ev":true},{"aid":2,"iid":11,"ev":true},{"aid":2,"iid":12,"ev":true},{"aid":2,"iid":13,"ev":true}] +3ms Accessory [Homebridge] Registering Characteristic "On" for events +1ms Accessory [Homebridge] Registering Characteristic "Brightness" for events +1ms Accessory [Homebridge] Registering Characteristic "Hue" for events +2ms Accessory [Homebridge] Registering Characteristic "Saturation" for events +1ms EventedHTTPServer [::ffff:192.168.1.111] HTTP Response is finished +3ms miio.packet <- <Buffer 21 31 00 60 00 00 00 00 07 d3 8e 50 00 00 1b 2f 96 1c 21 3f b3 9f 92 8c 44 15 a1 73 9e 69 5e cd> +41ms miio.device.[192.168.1.109] <- Message:{"error":{"code":-1,"message":"(null)"},"id":22}
+3ms [7/21/2019, 3:45:49 PM] [XiaoMiAcPartner] [AC Bedroom ACP]Send code failed! Error: (null) Accessory [Homebridge] Error setting Characteristic "Target Heating Cooling State" to value 2: (null) +9ms EventedHTTPServer [::ffff:192.168.1.107] HTTP Response is finished +3ms
So when i tried to do that manually with php-miio, i got the following output:
php miio-cli.php --ip 192.168.1.109 --token ... --sendcmd '{"id":21,"method":"get_model_and_state","params":[]}' {"result":["010500120000485001","011110190100004850","0"],"id":21} php miio-cli.php --ip 192.168.1.109 --token ... --sendcmd '{"id":21,"method":"send_cmd","params":["010000485001101900"]}' {"error":{"code":-1,"message":"(null)"},"id":21}
I think here we have error inside first parameter (code = 010000485001101900), because method 'send_cmd' exists, but can't handle param.
Ok, as I understood this is because my preset 'Samsung 4850' is not supported by this project, and default 'Gree' preset doesn't support by my Air Condition...
I tried to get samples with correct codes with WireShark + BlueStacks + Mi Home (like https://github.com/jghaanstra/com.robot.xiaomi-mi and https://github.com/aholstenson/miio/blob/master/docs/protocol.md#). And for two actions 'On' and 'Off' i captured the following data:
And decoded data of these packets:
mbp:php-miio user$ php miio-cli.php --token 34a0cd7ce21fa823ff2f9a2dcbd5228c --decode 213100600000000007d38e500000382e403e5b8a0bd13842b5ff7d5932917abc7f52894d46fb2f8493e734ff2570f60de66c3e89d35c516052a4c14b0c9cd8396a7e21b87e700e897f847b3861405b67bc72e58737b22c6b7ccf2e0e06656904 ": ": {"id":3485,"method":"get_model_and_state","params":[]} mbp:php-miio user$ php miio-cli.php --token 34a0cd7ce21fa823ff2f9a2dcbd5228c --decode 213100700000000007d38e500000382fadfa9e735011a200530786677af36b6a28b5e4c6f9282a318601b8f9a9fd98413f2127ec56eefe5c9cbeb99038f5dfc42ad954265653132aa8e798b51e782ef19ec6b608756204b766763292b44c5a2bb0da02db79a2d8f364a339699bc8ce49 ": ": {"result":["010500120000485001","0101211C0100004850","0"],"id":3485} mbp:php-miio user$ php miio-cli.php --token 34a0cd7ce21fa823ff2f9a2dcbd5228c --decode 213100700000000007d38e500000382f87d8bc556e81e7e96468a44f5460cab0b200c7d3552c93586d1f0c77874ab8fb80dbf9b2c4c38a5560db29953924ffad958af2795a72c65a8f8d299977353241884b69417532d0822b8705c58312b997236c70601327293ed8121f01c054ae1f ": ": {"id":3486,"method":"get_device_prop","params":["lumi.0","plug_state"]} mbp:php-miio user$ php miio-cli.php --token 34a0cd7ce21fa823ff2f9a2dcbd5228c --decode 213100400000000007d38e500000382f8459b4ebdf036e77a7477abd7dd7941f7085deaa33b7573d1c1d68765f77f9e9832b7e25a587e0e984f649741936402d ": ": {"result":["on"],"id":3486} mbp:php-miio user$ php miio-cli.php --token 34a0cd7ce21fa823ff2f9a2dcbd5228c --decode 213100700000000007d38e500000382f4f420fc744533cdb22f6f180ada2899ee0569df668cc146c1118c6e5ad95d097f2e251e7dc52f4b84fccb392461ebef297210f19335f11034bfeada4a3278c6fda7dcfde91cb64ef6757178f8df208ea3be0c3cedd85e43389c43abc39e912cf ": ": {"id":3487,"method":"send_cmd","params":["010000485011211c01000192FE71C31BF0"]} mbp:php-miio user$ php miio-cli.php --token 34a0cd7ce21fa823ff2f9a2dcbd5228c --decode 213100400000000007d38e5000003830a4827e1bcc631db65fc010e20ed7eb0aa8a4d84a69505c22ede660ba296343c966510b116dfbd089e4a895dfc810cd6a ": ": {"result":["ok"],"id":3487} mbp:php-miio user$ php miio-cli.php --token 34a0cd7ce21fa823ff2f9a2dcbd5228c --decode 213100d00000000007d38e50000038314f34a21fd9ae2ae26d466cba2532f6da11fb32d44bcbd06bb7e85861d8d4b5a07c395138a68d6473bca4620d1146252b6357ffa5f6614734fa62362c7a6c8a6a677cfb3cbb630edc4e7a298272fbcb00449c6991422edce05660def69c367468b220b8263aabcaec96becbceb485f8cb44627c3686759f0469d9181973c1b48db3d16ea9fe47baff23cdb9bcb4e258adc2e898665162546bee8d6faec1f3cc454a18aa61af1f5829e340fe20bf92c23e19a9919cbb128adaa24ea8ded7c3a746 ": ": {"id":3488,"method":"send_cmd","params":["010000485001211c0124000E0ED801000000001100150011003B0100040073015A000A0906001100600073015A0001B20F000040010112AF710311C0"]} mbp:php-miio user$ php miio-cli.php --token 34a0cd7ce21fa823ff2f9a2dcbd5228c --decode 34363bc4e92604cf8c86fd7e08004500005c10100000ff11275bc0a8016dc0a80168d431fb870048ef63213100400000000007d38e5000003831b9fbe5a2936db588586f9c9117150ea9a8a4d84a69505c22ede660ba296343c95ba178c7d9b45b3b5cd087b8d74601a8 ": ": mbp:php-miio user$ php miio-cli.php --token 34a0cd7ce21fa823ff2f9a2dcbd5228c --decode 213100400000000007d38e5000003831b9fbe5a2936db588586f9c9117150ea9a8a4d84a69505c22ede660ba296343c95ba178c7d9b45b3b5cd087b8d74601a8 ": ": {"result":["ok"],"id":3488} mbp:php-miio user$ php miio-cli.php --token 34a0cd7ce21fa823ff2f9a2dcbd5228c --decode 213100600000000007d38e50000038312aad972ce639e9db9b7660c5dfa72b4b1b8ab7bce236613cddf49737496df1614bdf8436caa59d31c9f35583f0d076a98e5ad0019569297db27171347d65263ebf93b9d3a8f98ef80e134fa03cbc8fdf ": ": {"id":3489,"method":"get_model_and_state","params":[]} mbp:php-miio user$ php miio-cli.php --token 34a0cd7ce21fa823ff2f9a2dcbd5228c --decode 213100700000000007d38e5000003832f0d8bf627f2ab3934141edb5fba7427228b5e4c6f9282a318601b8f9a9fd98413f2127ec56eefe5c9cbeb99038f5dfc42ad954265653132aa8e798b51e782ef19ec6b608756204b766763292b44c5a2b13ccf1df51600ba4ddbceaeb117242f4 ": ": {"result":["010500120000485001","0101211C0100004850","0"],"id":3489} mbp:php-miio user$ php miio-cli.php --token 34a0cd7ce21fa823ff2f9a2dcbd5228c --decode 213100700000000007d38e500000383118047d0f680c538bfd1a71224db3c415930d27bd5e74e7d06387a1c2bfa31a0a6e7cb22e9c0e5eecaca4fc4605ae56e152f6d09ed7c7259be1eb47240260392e0ca8af5b65f99fd040423a1b1ca92d0c3caf7bdebdc7888ae2cb3f37c0052d15 ": ": {"id":3490,"method":"get_device_prop","params":["lumi.0","plug_state"]} mbp:php-miio user$ php miio-cli.php --token 34a0cd7ce21fa823ff2f9a2dcbd5228c --decode 213100400000000007d38e50000038325144a1a2ce705b17d0afe55bfc513a4d7085deaa33b7573d1c1d68765f77f9e992bc6af265c75213b09f5dc095d27ce8 ": ": {"result":["on"],"id":3490}
So i have:
-
{"id":3487,"method":"send_cmd","params":["010000485011211c01000192FE71C31BF0"]}
(btn On) -
{"id":3488,"method":"send_cmd","params":["010000485001211c0124000E0ED801000000001100150011003B0100040073015A000A0906001100600073015A0001B20F000040010112AF710311C0"]}
(Btn Off)
Oh, too much difficult to understand how to use this datas)
Nice, it works fine, when i just set captured values to 'customize' section of config like that:
{ "name": "AC Bedroom ACP", "type": "climate", "customize": { "off": "010000485001211c0124000E0ED801000000001100150011003B0100040073015A000A0906001100600073015A0001B20F000040010112AF710311C0", "on": "010000485011211c01000192FE71C31BF0" } }
Hi, my A/C can't recognize signal from Home app. I'm using Hisense with 4838 current pairing. IP and token are correctly added as it recognize ON signal the first time. How do I go from here? I'm new and suck at this. Here's my config:
{ "platform": "XiaoMiAcPartner", "devices": { "192.168.X.XXX": "XXXXXXXXXXXXXXXXXXXXXXXXXXX" }, "accessories": [ { "name": "Nazir's AC", "type": "climate", "deviceIp": "192.168.X.XXX", "customize": { "syncInterval": 60000, "autoStart": "cool", "auto": "auto mode", "heat": { "17": "", "29": "", "30": "heat mode signal" }, "cool": { "17": "", "29": "", "30": "cool mode signal(required)" } } } ] }